denwa-web-shared 1.0.11 → 1.0.13

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/index.d.ts CHANGED
@@ -1,2 +1 @@
1
- export * from './server';
2
- export * from './client';
1
+ export {};
@@ -95,12 +95,17 @@ const prepareLocalMetaData = ({
95
95
  subdomain,
96
96
  metaData,
97
97
  host,
98
+ lang,
99
+ isSubdomain = true,
98
100
  SUBDOMAIN_NAME,
99
101
  SUBDOMAIN_MASK,
100
102
  DEFAULT_SEO_TEXT
101
103
  }) => {
102
104
  const { title, description, keywords, canonical } = metaData;
103
- const correctHost = subdomain === "main" ? host : `${subdomain}.${host}`;
105
+ let correctHost = subdomain === "main" ? host : `${subdomain}.${host}`;
106
+ if (!isSubdomain) {
107
+ correctHost = host;
108
+ }
104
109
  let currentTitle = title;
105
110
  let currentDescription = description;
106
111
  let currentKeywords = keywords;
@@ -148,6 +153,25 @@ const prepareLocalMetaData = ({
148
153
  if (canonical !== void 0) {
149
154
  alternates.canonical = `https://${correctHost}${canonical}`;
150
155
  }
156
+ if (lang) {
157
+ const langs = lang.locales.filter((item) => item !== lang.locale);
158
+ const languages = {};
159
+ langs.forEach((item) => {
160
+ let url2 = `https://${correctHost}`;
161
+ if (lang.city) {
162
+ url2 += `/${lang.city}`;
163
+ }
164
+ url2 += lang.route[0] === "/" ? lang.route : `/${lang.route}`;
165
+ languages[item] = item === lang.defaultLocale ? url2 : `/${item}${url2}`;
166
+ });
167
+ let url = "";
168
+ if (lang.city) {
169
+ url = `/${lang.city}`;
170
+ }
171
+ url += lang.route[0] === "/" ? lang.route : `/${lang.route}`;
172
+ alternates.canonical = `https://${correctHost}${url}`;
173
+ alternates.languages = languages;
174
+ }
151
175
  return {
152
176
  title: currentTitle,
153
177
  description: currentDescription,
@@ -93,12 +93,17 @@ const prepareLocalMetaData = ({
93
93
  subdomain,
94
94
  metaData,
95
95
  host,
96
+ lang,
97
+ isSubdomain = true,
96
98
  SUBDOMAIN_NAME,
97
99
  SUBDOMAIN_MASK,
98
100
  DEFAULT_SEO_TEXT
99
101
  }) => {
100
102
  const { title, description, keywords, canonical } = metaData;
101
- const correctHost = subdomain === "main" ? host : `${subdomain}.${host}`;
103
+ let correctHost = subdomain === "main" ? host : `${subdomain}.${host}`;
104
+ if (!isSubdomain) {
105
+ correctHost = host;
106
+ }
102
107
  let currentTitle = title;
103
108
  let currentDescription = description;
104
109
  let currentKeywords = keywords;
@@ -146,6 +151,25 @@ const prepareLocalMetaData = ({
146
151
  if (canonical !== void 0) {
147
152
  alternates.canonical = `https://${correctHost}${canonical}`;
148
153
  }
154
+ if (lang) {
155
+ const langs = lang.locales.filter((item) => item !== lang.locale);
156
+ const languages = {};
157
+ langs.forEach((item) => {
158
+ let url2 = `https://${correctHost}`;
159
+ if (lang.city) {
160
+ url2 += `/${lang.city}`;
161
+ }
162
+ url2 += lang.route[0] === "/" ? lang.route : `/${lang.route}`;
163
+ languages[item] = item === lang.defaultLocale ? url2 : `/${item}${url2}`;
164
+ });
165
+ let url = "";
166
+ if (lang.city) {
167
+ url = `/${lang.city}`;
168
+ }
169
+ url += lang.route[0] === "/" ? lang.route : `/${lang.route}`;
170
+ alternates.canonical = `https://${correctHost}${url}`;
171
+ alternates.languages = languages;
172
+ }
149
173
  return {
150
174
  title: currentTitle,
151
175
  description: currentDescription,
@@ -55,12 +55,14 @@ export declare const updateTextByTemplate: ({ text, subdomain, SUBDOMAIN_NAME, S
55
55
  * @param subdomain - Поддомен
56
56
  * @param metaData - Объект с title, descrption, keywords
57
57
  * @param host - Хост сайта
58
+ * @param lang - Объект для локализации
59
+ * @param isSubdomain - Нужны ли поддомены в адресе хоста
58
60
  * @param SUBDOMAIN_NAME - Объект ключ-значение со списком поддоменов
59
61
  * @param SUBDOMAIN_MASK - Объект ключ-значение со списком масок поддоменов
60
62
  * @param DEFAULT_SEO_TEXT - Объект ключ-значение со списком масок поддоменов
61
63
  * @return Объект с мета тегами
62
64
  */
63
- export declare const prepareLocalMetaData: <T extends object>({ subdomain, metaData, host, SUBDOMAIN_NAME, SUBDOMAIN_MASK, DEFAULT_SEO_TEXT, }: {
65
+ export declare const prepareLocalMetaData: <T extends object>({ subdomain, metaData, host, lang, isSubdomain, SUBDOMAIN_NAME, SUBDOMAIN_MASK, DEFAULT_SEO_TEXT, }: {
64
66
  subdomain: string;
65
67
  metaData: {
66
68
  title: string;
@@ -69,6 +71,14 @@ export declare const prepareLocalMetaData: <T extends object>({ subdomain, metaD
69
71
  canonical?: string;
70
72
  };
71
73
  host: string;
74
+ lang?: {
75
+ locale: string;
76
+ locales: string[];
77
+ defaultLocale: string;
78
+ route: string;
79
+ city?: string;
80
+ };
81
+ isSubdomain?: boolean;
72
82
  SUBDOMAIN_NAME: Record<string, {
73
83
  name: string;
74
84
  declination: string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "denwa-web-shared",
3
3
  "private": false,
4
- "version": "1.0.11",
4
+ "version": "1.0.13",
5
5
  "type": "module",
6
6
  "author": "Denwa",
7
7
  "main": "dist/denwa-web-shared.cjs.js",