@lionrapid/core 0.6.3 → 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 (45) hide show
  1. package/dist/browser/attribute-extractor.d.ts.map +1 -1
  2. package/dist/browser/attribute-extractor.js +17 -1
  3. package/dist/browser/attribute-extractor.js.map +1 -1
  4. package/dist/browser/auto-init.d.ts +1 -1
  5. package/dist/browser/auto-init.d.ts.map +1 -1
  6. package/dist/browser/auto-init.js +3 -2
  7. package/dist/browser/auto-init.js.map +1 -1
  8. package/dist/browser/index.d.ts +1 -1
  9. package/dist/browser/index.js +1 -1
  10. package/dist/browser/lionrapid.auto.dev.js +87 -9
  11. package/dist/browser/lionrapid.auto.dev.js.map +3 -3
  12. package/dist/browser/lionrapid.auto.js +87 -9
  13. package/dist/browser/lionrapid.auto.js.map +3 -3
  14. package/dist/browser/lionrapid.auto.min.js +4 -4
  15. package/dist/browser/lionrapid.auto.min.js.map +4 -4
  16. package/dist/browser/lionrapid.esm.js +77 -9
  17. package/dist/browser/lionrapid.esm.js.map +3 -3
  18. package/dist/browser/lionrapid.esm.min.js +3 -3
  19. package/dist/browser/lionrapid.esm.min.js.map +4 -4
  20. package/dist/browser/lionrapid.iife.dev.js +77 -9
  21. package/dist/browser/lionrapid.iife.dev.js.map +3 -3
  22. package/dist/browser/lionrapid.iife.js +77 -9
  23. package/dist/browser/lionrapid.iife.js.map +3 -3
  24. package/dist/browser/lionrapid.iife.min.js +3 -3
  25. package/dist/browser/lionrapid.iife.min.js.map +4 -4
  26. package/dist/browser/lionrapid.umd.js +77 -9
  27. package/dist/browser/lionrapid.umd.js.map +3 -3
  28. package/dist/browser/lionrapid.umd.min.js +3 -3
  29. package/dist/browser/lionrapid.umd.min.js.map +4 -4
  30. package/dist/browser/storage/cache-names.d.ts +51 -0
  31. package/dist/browser/storage/cache-names.d.ts.map +1 -0
  32. package/dist/browser/storage/cache-names.js +51 -0
  33. package/dist/browser/storage/cache-names.js.map +1 -0
  34. package/dist/browser/storage/cache-storage-repository.d.ts.map +1 -1
  35. package/dist/browser/storage/cache-storage-repository.js +6 -2
  36. package/dist/browser/storage/cache-storage-repository.js.map +1 -1
  37. package/dist/index.d.ts +3 -2
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +11 -5
  40. package/dist/index.js.map +1 -1
  41. package/dist/utils/locale.d.ts +50 -7
  42. package/dist/utils/locale.d.ts.map +1 -1
  43. package/dist/utils/locale.js +83 -15
  44. package/dist/utils/locale.js.map +1 -1
  45. package/package.json +2 -1
@@ -34,6 +34,8 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
34
34
  // src/index.ts
35
35
  var index_exports = {};
36
36
  __export(index_exports, {
37
+ CORE_CACHE_ENTRY_PREFIX: () => CORE_CACHE_ENTRY_PREFIX,
38
+ CORE_CACHE_NAMES: () => CORE_CACHE_NAMES,
37
39
  CacheManager: () => CacheManager,
38
40
  CacheStorageRepository: () => CacheStorageRepository,
39
41
  Colors: () => Colors,
@@ -42,6 +44,7 @@ __export(index_exports, {
42
44
  ExcludeFilter: () => ExcludeFilter,
43
45
  HTMLSerializer: () => HTMLSerializer,
44
46
  HandlerChain: () => HandlerChain,
47
+ ISO639_2_TO_1: () => ISO639_2_TO_1,
45
48
  LOCALE_TAG_REGEX: () => LOCALE_TAG_REGEX,
46
49
  LionRapidBuilder: () => LionRapidBuilder,
47
50
  LionRapidCore: () => LionRapidCore,
@@ -70,6 +73,7 @@ __export(index_exports, {
70
73
  isClientError: () => isClientError,
71
74
  isRetryableError: () => isRetryableError,
72
75
  isTranslationError: () => isTranslationError,
76
+ localeCandidates: () => localeCandidates,
73
77
  localeDir: () => localeDir,
74
78
  logger: () => logger,
75
79
  matchLocale: () => matchLocale,
@@ -463,6 +467,65 @@ function normalizeLocale(tag) {
463
467
  }
464
468
  return out.join("-");
465
469
  }
470
+ var ISO639_2_TO_1 = Object.freeze({
471
+ ara: "ar",
472
+ ben: "bn",
473
+ bul: "bg",
474
+ ces: "cs",
475
+ cmn: "zh",
476
+ dan: "da",
477
+ deu: "de",
478
+ ell: "el",
479
+ eng: "en",
480
+ est: "et",
481
+ fas: "fa",
482
+ fin: "fi",
483
+ fra: "fr",
484
+ heb: "he",
485
+ hin: "hi",
486
+ hrv: "hr",
487
+ hun: "hu",
488
+ ind: "id",
489
+ isl: "is",
490
+ ita: "it",
491
+ jpn: "ja",
492
+ kor: "ko",
493
+ lav: "lv",
494
+ lit: "lt",
495
+ msa: "ms",
496
+ nld: "nl",
497
+ nor: "no",
498
+ pol: "pl",
499
+ por: "pt",
500
+ ron: "ro",
501
+ rus: "ru",
502
+ slk: "sk",
503
+ slv: "sl",
504
+ spa: "es",
505
+ srp: "sr",
506
+ swe: "sv",
507
+ tha: "th",
508
+ tur: "tr",
509
+ ukr: "uk",
510
+ urd: "ur",
511
+ vie: "vi",
512
+ yid: "yi",
513
+ zho: "zh"
514
+ });
515
+ function localeCandidates(tag) {
516
+ const normalized = tag.trim().toLowerCase();
517
+ if (!normalized) return [];
518
+ const parts = normalized.split("-");
519
+ const out = [];
520
+ while (parts.length > 0) {
521
+ const candidate = parts.join("-");
522
+ if (!out.includes(candidate)) out.push(candidate);
523
+ const twoLetter = ISO639_2_TO_1[candidate];
524
+ if (twoLetter && !out.includes(twoLetter)) out.push(twoLetter);
525
+ parts.pop();
526
+ }
527
+ return out;
528
+ }
466
529
  function matchLocale(requested, available, fallback) {
467
530
  if (available.length === 0) return fallback;
468
531
  const avail = available.map((raw) => ({
@@ -471,12 +534,10 @@ function matchLocale(requested, available, fallback) {
471
534
  }));
472
535
  for (const req of requested) {
473
536
  if (!req) continue;
474
- const reqLower = normalizeLocale(req).toLowerCase();
475
- const exact = avail.find((a) => a.lower === reqLower);
476
- if (exact) return exact.raw;
477
- const primary = primarySubtag(req);
478
- const byPrimary = avail.find((a) => a.lower === primary);
479
- if (byPrimary) return byPrimary.raw;
537
+ for (const candidate of localeCandidates(req)) {
538
+ const hit = avail.find((a) => a.lower === candidate);
539
+ if (hit) return hit.raw;
540
+ }
480
541
  }
481
542
  return fallback;
482
543
  }
@@ -5475,9 +5536,16 @@ var LocalStorageRepository = class {
5475
5536
  }
5476
5537
  };
5477
5538
 
5539
+ // src/browser/storage/cache-names.ts
5540
+ var CORE_CACHE_NAMES = Object.freeze({
5541
+ translations: "lionrapid-v1",
5542
+ offlineFloor: "lionrapid-offline-v1"
5543
+ });
5544
+ var CORE_CACHE_ENTRY_PREFIX = "https://cache.lionrapid.internal/";
5545
+
5478
5546
  // src/browser/storage/cache-storage-repository.ts
5479
- var CACHE_NAME = "lionrapid-v1";
5480
- var CACHE_PREFIX = "https://cache.lionrapid.internal/";
5547
+ var CACHE_NAME = CORE_CACHE_NAMES.translations;
5548
+ var CACHE_PREFIX = CORE_CACHE_ENTRY_PREFIX;
5481
5549
  var CacheStorageRepository = class {
5482
5550
  constructor(config = {}) {
5483
5551
  __publicField(this, "name", "CacheStorageRepository");
@@ -5678,7 +5746,7 @@ var CacheStorageRepository = class {
5678
5746
  };
5679
5747
 
5680
5748
  // src/index.ts
5681
- var VERSION = "1.0.0";
5749
+ var VERSION = "0.6.5";
5682
5750
  //# sourceMappingURL=lionrapid.umd.js.map
5683
5751
 
5684
5752
  return exports;