@dxtmisha/functional-basic 1.4.0 → 1.4.1

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/library.js CHANGED
@@ -2682,8 +2682,10 @@ var H = /* @__PURE__ */ function(e) {
2682
2682
  var r;
2683
2683
  let t = this.getCountry(n);
2684
2684
  return {
2685
- language: this.getLanguage(n),
2685
+ language: this.getLanguageName(n),
2686
+ languageCode: n.language,
2686
2687
  country: t,
2688
+ countryCode: n.country,
2687
2689
  standard: n.standard,
2688
2690
  icon: (r = e.flags) == null ? void 0 : r[n.country],
2689
2691
  label: t,
@@ -2692,6 +2694,14 @@ var H = /* @__PURE__ */ function(e) {
2692
2694
  };
2693
2695
  }
2694
2696
  }
2697
+ getLanguage(e = this.getCode()) {
2698
+ let t = this.get(e);
2699
+ if (t) return {
2700
+ ...t,
2701
+ label: t.language,
2702
+ value: t.languageCode
2703
+ };
2704
+ }
2695
2705
  getCode() {
2696
2706
  return this.code || A.getLocation();
2697
2707
  }
@@ -2703,6 +2713,13 @@ var H = /* @__PURE__ */ function(e) {
2703
2713
  let n = r(this.getCodes(e), (e) => this.get(e));
2704
2714
  return t ? new R().sort(n, (e, t) => [e.label, t.label]) : n;
2705
2715
  }
2716
+ getListLanguage(e, t = !0) {
2717
+ let n = [], i = /* @__PURE__ */ new Set();
2718
+ return r(this.getCodes(e), (e) => {
2719
+ let t = this.getLanguage(e);
2720
+ t && !i.has(t.value) && (n.push(t), i.add(t.value));
2721
+ }), t ? new R().sort(n, (e, t) => [e.label, t.label]) : n;
2722
+ }
2706
2723
  getNational(t, n = !0) {
2707
2724
  let i = r(this.getList(t, !1), (t) => {
2708
2725
  let n = new e(t.standard).get(t.standard);
@@ -2715,6 +2732,18 @@ var H = /* @__PURE__ */ function(e) {
2715
2732
  });
2716
2733
  return n ? new R().sort(i, (e, t) => [e.label, t.label]) : i;
2717
2734
  }
2735
+ getNationalLanguage(t, n = !0) {
2736
+ let i = r(this.getListLanguage(t, !1), (t) => {
2737
+ let n = new e(t.standard).getLanguage(t.standard);
2738
+ return {
2739
+ ...t,
2740
+ description: n == null ? void 0 : n.language,
2741
+ nationalLanguage: n == null ? void 0 : n.language,
2742
+ nationalCountry: n == null ? void 0 : n.country
2743
+ };
2744
+ });
2745
+ return n ? new R().sort(i, (e, t) => [e.label, t.label]) : i;
2746
+ }
2718
2747
  setCode(e) {
2719
2748
  return this.code = e, this;
2720
2749
  }
@@ -2724,7 +2753,7 @@ var H = /* @__PURE__ */ function(e) {
2724
2753
  getCodes(t) {
2725
2754
  return t == null ? Object.keys(e.flags) : t;
2726
2755
  }
2727
- getLanguage(e) {
2756
+ getLanguageName(e) {
2728
2757
  return this.getLocation().languageName(e.language);
2729
2758
  }
2730
2759
  getCountry(e) {
@@ -2732,13 +2761,62 @@ var H = /* @__PURE__ */ function(e) {
2732
2761
  }
2733
2762
  };
2734
2763
  w(ct, "flags", {
2764
+ RU: "f-ru",
2765
+ FR: "f-fr",
2766
+ GB: "f-gb",
2767
+ US: "f-us",
2768
+ DE: "f-de",
2769
+ ES: "f-es",
2770
+ VN: "f-vn",
2771
+ CN: "f-cn",
2772
+ IT: "f-it",
2773
+ JP: "f-jp",
2774
+ KR: "f-kr",
2775
+ PT: "f-pt",
2776
+ TR: "f-tr",
2777
+ PL: "f-pl",
2778
+ NL: "f-nl",
2779
+ UA: "f-ua",
2780
+ BY: "f-by",
2781
+ KZ: "f-kz",
2782
+ GR: "f-gr",
2783
+ CZ: "f-cz",
2784
+ HU: "f-hu",
2785
+ RO: "f-ro",
2786
+ BG: "f-bg",
2787
+ HR: "f-hr",
2788
+ RS: "f-rs",
2789
+ SK: "f-sk",
2790
+ SI: "f-si",
2791
+ LT: "f-lt",
2792
+ LV: "f-lv",
2793
+ EE: "f-ee",
2794
+ FI: "f-fi",
2795
+ SE: "f-se",
2796
+ NO: "f-no",
2797
+ DK: "f-dk",
2798
+ IL: "f-il",
2799
+ TH: "f-th",
2800
+ ID: "f-id",
2801
+ MY: "f-my",
2802
+ PH: "f-ph",
2803
+ SA: "f-sa",
2804
+ IR: "f-ir",
2805
+ PK: "f-pk",
2806
+ AM: "f-am",
2807
+ GE: "f-ge",
2808
+ AZ: "f-az",
2809
+ TJ: "f-tj",
2810
+ KG: "f-kg",
2811
+ UZ: "f-uz",
2812
+ TM: "f-tm",
2813
+ MN: "f-mn",
2735
2814
  AD: "f-ad",
2736
2815
  AE: "f-ae",
2737
2816
  AF: "f-af",
2738
2817
  AG: "f-ag",
2739
2818
  AI: "f-ai",
2740
2819
  AL: "f-al",
2741
- AM: "f-am",
2742
2820
  AN: "f-an",
2743
2821
  AO: "f-ao",
2744
2822
  AQ: "f-aq",
@@ -2747,13 +2825,11 @@ w(ct, "flags", {
2747
2825
  AT: "f-at",
2748
2826
  AU: "f-au",
2749
2827
  AW: "f-aw",
2750
- AZ: "f-az",
2751
2828
  BA: "f-ba",
2752
2829
  BB: "f-bb",
2753
2830
  BD: "f-bd",
2754
2831
  BE: "f-be",
2755
2832
  BF: "f-bf",
2756
- BG: "f-bg",
2757
2833
  BH: "f-bh",
2758
2834
  BI: "f-bi",
2759
2835
  BJ: "f-bj",
@@ -2765,7 +2841,6 @@ w(ct, "flags", {
2765
2841
  BS: "f-bs",
2766
2842
  BT: "f-bt",
2767
2843
  BW: "f-bw",
2768
- BY: "f-by",
2769
2844
  BZ: "f-bz",
2770
2845
  CA: "f-ca",
2771
2846
  CC: "f-cc",
@@ -2777,7 +2852,6 @@ w(ct, "flags", {
2777
2852
  CK: "f-ck",
2778
2853
  CL: "f-cl",
2779
2854
  CM: "f-cm",
2780
- CN: "f-cn",
2781
2855
  CO: "f-co",
2782
2856
  CR: "f-cr",
2783
2857
  CU: "f-cu",
@@ -2785,29 +2859,20 @@ w(ct, "flags", {
2785
2859
  CW: "f-cw",
2786
2860
  CX: "f-cx",
2787
2861
  CY: "f-cy",
2788
- CZ: "f-cz",
2789
- DE: "f-de",
2790
2862
  DJ: "f-dj",
2791
- DK: "f-dk",
2792
2863
  DM: "f-dm",
2793
2864
  DZ: "f-dz",
2794
2865
  EC: "f-ec",
2795
- EE: "f-ee",
2796
2866
  EG: "f-eg",
2797
2867
  EH: "f-eh",
2798
2868
  ER: "f-er",
2799
- ES: "f-es",
2800
2869
  ET: "f-et",
2801
- FI: "f-fi",
2802
2870
  FJ: "f-fj",
2803
2871
  FK: "f-fk",
2804
2872
  FM: "f-fm",
2805
2873
  FO: "f-fo",
2806
- FR: "f-fr",
2807
2874
  GA: "f-ga",
2808
- GB: "f-gb",
2809
2875
  GD: "f-gd",
2810
- GE: "f-ge",
2811
2876
  GF: "f-gf",
2812
2877
  GG: "f-gg",
2813
2878
  GH: "f-gh",
@@ -2816,41 +2881,29 @@ w(ct, "flags", {
2816
2881
  GM: "f-gm",
2817
2882
  GN: "f-gn",
2818
2883
  GQ: "f-gq",
2819
- GR: "f-gr",
2820
2884
  GT: "f-gt",
2821
2885
  GU: "f-gu",
2822
2886
  GW: "f-gw",
2823
2887
  GY: "f-gy",
2824
2888
  HK: "f-hk",
2825
2889
  HN: "f-hn",
2826
- HR: "f-hr",
2827
2890
  HT: "f-ht",
2828
- HU: "f-hu",
2829
- ID: "f-id",
2830
2891
  IE: "f-ie",
2831
- IL: "f-il",
2832
2892
  IM: "f-im",
2833
- IN: "f-in",
2834
2893
  IO: "f-io",
2835
2894
  IQ: "f-iq",
2836
- IR: "f-ir",
2837
2895
  IS: "f-is",
2838
- IT: "f-it",
2839
2896
  JE: "f-je",
2840
2897
  JM: "f-jm",
2841
2898
  JO: "f-jo",
2842
- JP: "f-jp",
2843
2899
  KE: "f-ke",
2844
- KG: "f-kg",
2845
2900
  KH: "f-kh",
2846
2901
  KI: "f-ki",
2847
2902
  KM: "f-km",
2848
2903
  KN: "f-kn",
2849
2904
  KP: "f-kp",
2850
- KR: "f-kr",
2851
2905
  KW: "f-kw",
2852
2906
  KY: "f-ky",
2853
- KZ: "f-kz",
2854
2907
  LA: "f-la",
2855
2908
  LB: "f-lb",
2856
2909
  LC: "f-lc",
@@ -2858,9 +2911,7 @@ w(ct, "flags", {
2858
2911
  LK: "f-lk",
2859
2912
  LR: "f-lr",
2860
2913
  LS: "f-ls",
2861
- LT: "f-lt",
2862
2914
  LU: "f-lu",
2863
- LV: "f-lv",
2864
2915
  LY: "f-ly",
2865
2916
  MA: "f-ma",
2866
2917
  MC: "f-mc",
@@ -2872,7 +2923,6 @@ w(ct, "flags", {
2872
2923
  MK: "f-mk",
2873
2924
  ML: "f-ml",
2874
2925
  MM: "f-mm",
2875
- MN: "f-mn",
2876
2926
  MO: "f-mo",
2877
2927
  MP: "f-mp",
2878
2928
  MQ: "f-mq",
@@ -2883,7 +2933,6 @@ w(ct, "flags", {
2883
2933
  MV: "f-mv",
2884
2934
  MW: "f-mw",
2885
2935
  MX: "f-mx",
2886
- MY: "f-my",
2887
2936
  MZ: "f-mz",
2888
2937
  NA: "f-na",
2889
2938
  NC: "f-nc",
@@ -2891,8 +2940,6 @@ w(ct, "flags", {
2891
2940
  NF: "f-nf",
2892
2941
  NG: "f-ng",
2893
2942
  NI: "f-ni",
2894
- NL: "f-nl",
2895
- NO: "f-no",
2896
2943
  NP: "f-np",
2897
2944
  NR: "f-nr",
2898
2945
  NU: "f-nu",
@@ -2902,32 +2949,21 @@ w(ct, "flags", {
2902
2949
  PE: "f-pe",
2903
2950
  PF: "f-pf",
2904
2951
  PG: "f-pg",
2905
- PH: "f-ph",
2906
- PK: "f-pk",
2907
- PL: "f-pl",
2908
2952
  PM: "f-pm",
2909
2953
  PN: "f-pn",
2910
2954
  PR: "f-pr",
2911
2955
  PS: "f-ps",
2912
- PT: "f-pt",
2913
2956
  PW: "f-pw",
2914
2957
  PY: "f-py",
2915
2958
  QA: "f-qa",
2916
2959
  RE: "f-re",
2917
- RO: "f-ro",
2918
- RS: "f-rs",
2919
- RU: "f-ru",
2920
2960
  RW: "f-rw",
2921
- SA: "f-sa",
2922
2961
  SB: "f-sb",
2923
2962
  SC: "f-sc",
2924
2963
  SD: "f-sd",
2925
- SE: "f-se",
2926
2964
  SG: "f-sg",
2927
2965
  SH: "f-sh",
2928
- SI: "f-si",
2929
2966
  SJ: "f-sj",
2930
- SK: "f-sk",
2931
2967
  SL: "f-sl",
2932
2968
  SM: "f-sm",
2933
2969
  SN: "f-sn",
@@ -2942,29 +2978,21 @@ w(ct, "flags", {
2942
2978
  TC: "f-tc",
2943
2979
  TD: "f-td",
2944
2980
  TG: "f-tg",
2945
- TH: "f-th",
2946
- TJ: "f-tj",
2947
2981
  TK: "f-tk",
2948
2982
  TL: "f-tl",
2949
- TM: "f-tm",
2950
2983
  TN: "f-tn",
2951
2984
  TO: "f-to",
2952
- TR: "f-tr",
2953
2985
  TT: "f-tt",
2954
2986
  TV: "f-tv",
2955
2987
  TW: "f-tw",
2956
2988
  TZ: "f-tz",
2957
- UA: "f-ua",
2958
2989
  UG: "f-ug",
2959
- US: "f-us",
2960
2990
  UY: "f-uy",
2961
- UZ: "f-uz",
2962
2991
  VA: "f-va",
2963
2992
  VC: "f-vc",
2964
2993
  VE: "f-ve",
2965
2994
  VG: "f-vg",
2966
2995
  VI: "f-vi",
2967
- VN: "f-vn",
2968
2996
  VU: "f-vu",
2969
2997
  WF: "f-wf",
2970
2998
  WS: "f-ws",
@@ -30,6 +30,14 @@ export declare class GeoFlag {
30
30
  * @returns country information / информация о стране
31
31
  */
32
32
  get(code?: string): GeoFlagItem | undefined;
33
+ /**
34
+ * Returns information about the language and its flag.
35
+ *
36
+ * Возвращает информацию о языке и его флаге.
37
+ * @param code country code / код страны
38
+ * @returns language information / информация о языке
39
+ */
40
+ getLanguage(code?: string): GeoFlagItem | undefined;
33
41
  /**
34
42
  * Returns the country code.
35
43
  *
@@ -56,6 +64,17 @@ export declare class GeoFlag {
56
64
  * @returns list of countries / список стран
57
65
  */
58
66
  getList(codes?: string[], sort?: boolean): GeoFlagItem[];
67
+ /**
68
+ * Returns a list of languages based on the provided codes.
69
+ * If no codes are provided, returns all available languages.
70
+ *
71
+ * Возвращает список языков на основе предоставленных кодов.
72
+ * Если коды не переданы, возвращает все доступные языки.
73
+ * @param codes array of country codes / массив кодов стран
74
+ * @param sort whether to sort the list / сортировать ли список
75
+ * @returns list of languages / список языков
76
+ */
77
+ getListLanguage(codes?: string[], sort?: boolean): GeoFlagItem[];
59
78
  /**
60
79
  * Returns a list of countries in their national languages.
61
80
  *
@@ -65,6 +84,15 @@ export declare class GeoFlag {
65
84
  * @returns list of countries with national names / список стран с национальными названиями
66
85
  */
67
86
  getNational(codes?: string[], sort?: boolean): GeoFlagNational[];
87
+ /**
88
+ * Returns a list of languages in their national names.
89
+ *
90
+ * Возвращает список языков на их национальных названиях.
91
+ * @param codes array of country codes / массив кодов стран
92
+ * @param sort whether to sort the list / сортировать ли список
93
+ * @returns list of languages with national names / список языков с национальными названиями
94
+ */
95
+ getNationalLanguage(codes?: string[], sort?: boolean): GeoFlagNational[];
68
96
  /**
69
97
  * Changes the current locale/location.
70
98
  *
@@ -96,7 +124,7 @@ export declare class GeoFlag {
96
124
  * Получение названия языка.
97
125
  * @param data object with information of data/ объект с информацией данных
98
126
  */
99
- protected getLanguage(data: GeoItemFull): string;
127
+ protected getLanguageName(data: GeoItemFull): string;
100
128
  /**
101
129
  * Getting the name of the country.
102
130
  *
@@ -49,8 +49,12 @@ export interface GeoItemFull extends Omit<GeoItem, 'firstDay'> {
49
49
  export interface GeoFlagItem {
50
50
  /** Language name/ Название языка */
51
51
  language: string;
52
+ /** Language code/ Код языка */
53
+ languageCode: string;
52
54
  /** Country name/ Название страны */
53
55
  country: string;
56
+ /** Country code/ Код страны */
57
+ countryCode: string;
54
58
  /** Standard locale code/ Стандартный код локали */
55
59
  standard: string;
56
60
  /** Flag icon identifier/ Идентификатор иконки флага */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dxtmisha/functional-basic",
3
3
  "private": false,
4
- "version": "1.4.0",
4
+ "version": "1.4.1",
5
5
  "type": "module",
6
6
  "description": "Foundational utility library for modern web development — HTTP client, geolocation, i18n, SEO meta tags, caching, storage, DOM utilities, and more. Framework-agnostic, zero dependencies, TypeScript-first.",
7
7
  "keywords": [