@eui/base 19.0.0-next.1 → 19.0.0-next.10
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/docs/classes/EuiEuLanguages.html +218 -0
- package/docs/dependencies.html +31 -29
- package/docs/interfaces/EuiLanguage.html +51 -0
- package/docs/interfaces/EuiMenuItem.html +45 -0
- package/docs/interfaces/LocaleServiceConfig.html +154 -10
- package/docs/interfaces/LocaleState.html +11 -4
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/typealiases.html +28 -0
- package/docs/miscellaneous/variables.html +3 -3
- package/fesm2022/eui-base.mjs +219 -3
- package/fesm2022/eui-base.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/lib/eui-models/eui-config/locale.config.d.ts +26 -2
- package/lib/eui-models/eui-config/locale.config.d.ts.map +1 -1
- package/lib/eui-models/eui-language/eui-eu-languages.model.d.ts +14 -0
- package/lib/eui-models/eui-language/eui-eu-languages.model.d.ts.map +1 -1
- package/lib/eui-models/eui-language/eui-language.model.d.ts +2 -0
- package/lib/eui-models/eui-language/eui-language.model.d.ts.map +1 -1
- package/lib/eui-models/eui-menu-item.model.d.ts +1 -0
- package/lib/eui-models/eui-menu-item.model.d.ts.map +1 -1
- package/lib/eui-models/eui-store/state/locale.state.d.ts +7 -3
- package/lib/eui-models/eui-store/state/locale.state.d.ts.map +1 -1
- package/lib/polyfill/crypto.polyfill.d.ts +6 -0
- package/lib/polyfill/crypto.polyfill.d.ts.map +1 -0
- package/lib/polyfill/index.d.ts +2 -0
- package/lib/polyfill/index.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -137,6 +137,9 @@
|
|
|
137
137
|
<li>
|
|
138
138
|
<a href="#TranslationsCompiler" title="packages/eui/packages/base/src/lib/eui-models/eui-config/i18n.config.ts" ><b>TranslationsCompiler</b> (packages/.../i18n.config.ts)</a>
|
|
139
139
|
</li>
|
|
140
|
+
<li>
|
|
141
|
+
<a href="#UUID" title="packages/eui/packages/base/src/lib/polyfill/crypto.polyfill.ts" ><b>UUID</b> (packages/.../crypto.polyfill.ts)</a>
|
|
142
|
+
</li>
|
|
140
143
|
<li>
|
|
141
144
|
<a href="#UxErrorFeedbackEventType" title="packages/eui/packages/base/src/lib/ux-models/ux-error-feedback.model.ts" ><b>UxErrorFeedbackEventType</b> (packages/.../ux-error-feedback.model.ts)</a>
|
|
142
145
|
</li>
|
|
@@ -396,6 +399,31 @@
|
|
|
396
399
|
</tr>
|
|
397
400
|
</tbody>
|
|
398
401
|
</table>
|
|
402
|
+
</section> <h3>packages/eui/packages/base/src/lib/polyfill/crypto.polyfill.ts</h3>
|
|
403
|
+
<section data-compodoc="block-typealias">
|
|
404
|
+
<table class="table table-sm table-bordered">
|
|
405
|
+
<tbody>
|
|
406
|
+
<tr>
|
|
407
|
+
<td class="col-md-4">
|
|
408
|
+
<a name="UUID"></a>
|
|
409
|
+
<span class="name "><b>UUID</b><a href="#UUID"><span class="icon ion-ios-link"></span></a></span>
|
|
410
|
+
</td>
|
|
411
|
+
</tr>
|
|
412
|
+
<tr>
|
|
413
|
+
<td class="col-md-4">
|
|
414
|
+
<div class="io-description"><p>polyfill for usage of crypto.randomUUID() on non HTTPS environments EUI-10272
|
|
415
|
+
Please remove in the future when EC Policy for HTTPS is enforced.</p>
|
|
416
|
+
</div>
|
|
417
|
+
</td>
|
|
418
|
+
</tr>
|
|
419
|
+
<tr>
|
|
420
|
+
<td class="col-md-4">
|
|
421
|
+
<code> <code> `${string}-${string}-${string}-${string}-${string}`</code>
|
|
422
|
+
</code>
|
|
423
|
+
</td>
|
|
424
|
+
</tr>
|
|
425
|
+
</tbody>
|
|
426
|
+
</table>
|
|
399
427
|
</section>
|
|
400
428
|
|
|
401
429
|
|
|
@@ -1049,8 +1049,8 @@ The array languages will be lower cased 2 char code.</p>
|
|
|
1049
1049
|
<tr>
|
|
1050
1050
|
<td class="col-md-4">
|
|
1051
1051
|
<i>Default value : </i><code>(baseGlobalConfig: GlobalConfig): LocaleServiceConfig => {
|
|
1052
|
-
const {
|
|
1053
|
-
return {
|
|
1052
|
+
const { registered, available, bindWithTranslate, affectGlobalLocale } = baseGlobalConfig.locale;
|
|
1053
|
+
return { registered, available, bindWithTranslate, affectGlobalLocale };
|
|
1054
1054
|
}</code>
|
|
1055
1055
|
</td>
|
|
1056
1056
|
</tr>
|
|
@@ -1521,7 +1521,7 @@ The array languages will be lower cased 2 char code.</p>
|
|
|
1521
1521
|
|
|
1522
1522
|
<tr>
|
|
1523
1523
|
<td class="col-md-4">
|
|
1524
|
-
<div class="io-description"><p>The initial state of the locale state. The default locale is English ('en').</p>
|
|
1524
|
+
<div class="io-description"><p>The initial state of the locale state. The default locale is English US ('en').</p>
|
|
1525
1525
|
</div>
|
|
1526
1526
|
</td>
|
|
1527
1527
|
</tr>
|
package/fesm2022/eui-base.mjs
CHANGED
|
@@ -741,8 +741,8 @@ const getBrowserPreferredLanguages = () => navigator.languages.map((lang) => lan
|
|
|
741
741
|
* responsible to extract the attributes "available" and "id" from the locale configuration
|
|
742
742
|
*/
|
|
743
743
|
const getLocaleServiceConfigFromBase = (baseGlobalConfig) => {
|
|
744
|
-
const {
|
|
745
|
-
return {
|
|
744
|
+
const { registered, available, bindWithTranslate, affectGlobalLocale } = baseGlobalConfig.locale;
|
|
745
|
+
return { registered, available, bindWithTranslate, affectGlobalLocale };
|
|
746
746
|
};
|
|
747
747
|
|
|
748
748
|
const initialUserPreferences = Object.assign({}, {
|
|
@@ -782,7 +782,7 @@ const initialI18nState = {
|
|
|
782
782
|
};
|
|
783
783
|
|
|
784
784
|
/**
|
|
785
|
-
* The initial state of the locale state. The default locale is English ('en').
|
|
785
|
+
* The initial state of the locale state. The default locale is English US ('en').
|
|
786
786
|
*/
|
|
787
787
|
const initialLocaleState = {
|
|
788
788
|
id: 'en',
|
|
@@ -1143,6 +1143,190 @@ class EuiEuLanguages {
|
|
|
1143
1143
|
label: 'svenska',
|
|
1144
1144
|
},
|
|
1145
1145
|
}; }
|
|
1146
|
+
static { this.allLanguages = [
|
|
1147
|
+
{ code: 'aa', label: 'Afaraf' },
|
|
1148
|
+
{ code: 'ab', label: 'аҧсуа' },
|
|
1149
|
+
{ code: 'ae', label: 'avesta' },
|
|
1150
|
+
{ code: 'af', label: 'Afrikaans' },
|
|
1151
|
+
{ code: 'ak', label: 'Akan' },
|
|
1152
|
+
{ code: 'am', label: 'አማርኛ' },
|
|
1153
|
+
{ code: 'an', label: 'Aragonés' },
|
|
1154
|
+
{ code: 'ar', label: 'العربية', isRtl: true },
|
|
1155
|
+
{ code: 'as', label: 'অসমীয়া' },
|
|
1156
|
+
{ code: 'av', label: 'авар мацӀ, магӀарул мацӀ' },
|
|
1157
|
+
{ code: 'ay', label: 'aymar aru' },
|
|
1158
|
+
{ code: 'az', label: 'azərbaycan dili' },
|
|
1159
|
+
{ code: 'ba', label: 'башҡорт теле' },
|
|
1160
|
+
{ code: 'be', label: 'Беларуская' },
|
|
1161
|
+
{ code: 'bg', label: 'български' },
|
|
1162
|
+
{ code: 'bh', label: 'भोजपुरी' },
|
|
1163
|
+
{ code: 'bi', label: 'Bislama' },
|
|
1164
|
+
{ code: 'bm', label: 'bamanankan' },
|
|
1165
|
+
{ code: 'bn', label: 'বাংলা' },
|
|
1166
|
+
{ code: 'bo', label: 'བོད་ཡིག' },
|
|
1167
|
+
{ code: 'br', label: 'brezhoneg' },
|
|
1168
|
+
{ code: 'bs', label: 'bosanski jezik' },
|
|
1169
|
+
{ code: 'ca', label: 'Català' },
|
|
1170
|
+
{ code: 'ce', label: 'нохчийн мотт' },
|
|
1171
|
+
{ code: 'ch', label: 'Chamoru' },
|
|
1172
|
+
{ code: 'co', label: 'corsu, lingua corsa' },
|
|
1173
|
+
{ code: 'cr', label: 'ᓀᐦᐃᔭᐍᐏᐣ' },
|
|
1174
|
+
{ code: 'cs', label: 'čeština' },
|
|
1175
|
+
{ code: 'cu', label: 'ѩзыкъ словѣньскъ' },
|
|
1176
|
+
{ code: 'cv', label: 'чӑваш чӗлхи' },
|
|
1177
|
+
{ code: 'cy', label: 'Cymraeg' },
|
|
1178
|
+
{ code: 'da', label: 'dansk' },
|
|
1179
|
+
{ code: 'de', label: 'Deutsch' },
|
|
1180
|
+
{ code: 'dv', label: 'ދިވެހި' },
|
|
1181
|
+
{ code: 'ee', label: 'Eʋegbe' },
|
|
1182
|
+
{ code: 'el', label: 'Ελληνικά' },
|
|
1183
|
+
{ code: 'en', label: 'English' },
|
|
1184
|
+
{ code: 'eo', label: 'Esperanto' },
|
|
1185
|
+
{ code: 'es', label: 'español' },
|
|
1186
|
+
{ code: 'et', label: 'eesti' },
|
|
1187
|
+
{ code: 'eu', label: 'euskara, euskera' },
|
|
1188
|
+
{ code: 'fa', label: 'فارسی', isRtl: true },
|
|
1189
|
+
{ code: 'ff', label: 'Fulfulde, Pulaar, Pular' },
|
|
1190
|
+
{ code: 'fi', label: 'suomi' },
|
|
1191
|
+
{ code: 'fj', label: 'vosa Vakaviti' },
|
|
1192
|
+
{ code: 'fo', label: 'føroyskt' },
|
|
1193
|
+
{ code: 'fr', label: 'français' },
|
|
1194
|
+
{ code: 'fy', label: 'Frysk' },
|
|
1195
|
+
{ code: 'ga', label: 'Gaeilge' },
|
|
1196
|
+
{ code: 'gd', label: 'Gàidhlig' },
|
|
1197
|
+
{ code: 'gl', label: 'Galego' },
|
|
1198
|
+
{ code: 'gn', label: 'Avañeẽ' },
|
|
1199
|
+
{ code: 'gu', label: 'ગુજરાતી' },
|
|
1200
|
+
{ code: 'gv', label: 'Gaelg, Gailck' },
|
|
1201
|
+
{ code: 'ha', label: 'Hausa, هَوُسَ' },
|
|
1202
|
+
{ code: 'he', label: 'עברית', isRtl: true },
|
|
1203
|
+
{ code: 'hi', label: 'हिन्दी, हिंदी' },
|
|
1204
|
+
{ code: 'ho', label: 'Hiri Motu' },
|
|
1205
|
+
{ code: 'hr', label: 'hrvatski' },
|
|
1206
|
+
{ code: 'ht', label: 'Kreyòl ayisyen' },
|
|
1207
|
+
{ code: 'hu', label: 'Magyar' },
|
|
1208
|
+
{ code: 'hy', label: 'Հայերեն' },
|
|
1209
|
+
{ code: 'hz', label: 'Otjiherero' },
|
|
1210
|
+
{ code: 'ia', label: 'Interlingua' },
|
|
1211
|
+
{ code: 'id', label: 'Bahasa Indonesia' },
|
|
1212
|
+
{ code: 'ie', label: 'Originally called Occidental' },
|
|
1213
|
+
{ code: 'ig', label: 'Asụsụ Igbo' },
|
|
1214
|
+
{ code: 'ii', label: 'ꆈꌠ꒿ Nuosuhxop' },
|
|
1215
|
+
{ code: 'ik', label: 'Iñupiaq, Iñupiatun' },
|
|
1216
|
+
{ code: 'io', label: 'Ido' },
|
|
1217
|
+
{ code: 'is', label: 'Íslenska' },
|
|
1218
|
+
{ code: 'it', label: 'Italiano' },
|
|
1219
|
+
{ code: 'iu', label: 'ᐃᓄᒃᑎᑐᑦ' },
|
|
1220
|
+
{ code: 'ja', label: '日本語' },
|
|
1221
|
+
{ code: 'jv', label: 'basa Jawa' },
|
|
1222
|
+
{ code: 'ka', label: 'ქართული' },
|
|
1223
|
+
{ code: 'kg', label: 'KiKongo' },
|
|
1224
|
+
{ code: 'ki', label: 'Gĩkũyũ' },
|
|
1225
|
+
{ code: 'kj', label: 'Kuanyama' },
|
|
1226
|
+
{ code: 'kk', label: 'Қазақ тілі' },
|
|
1227
|
+
{ code: 'kl', label: 'kalaallisut' },
|
|
1228
|
+
{ code: 'km', label: 'ភាសាខ្មែរ' },
|
|
1229
|
+
{ code: 'kn', label: 'ಕನ್ನಡ' },
|
|
1230
|
+
{ code: 'ko', label: '한국어 (韓國語), 조선말 (朝鮮語)' },
|
|
1231
|
+
{ code: 'kr', label: 'Kanuri' },
|
|
1232
|
+
{ code: 'ks', label: 'कश्मीरी, كشميري' },
|
|
1233
|
+
{ code: 'ku', label: 'Kurdî, كوردی', isRtl: true },
|
|
1234
|
+
{ code: 'kv', label: 'коми кыв' },
|
|
1235
|
+
{ code: 'kw', label: 'Kernewek' },
|
|
1236
|
+
{ code: 'ky', label: 'кыргыз тили' },
|
|
1237
|
+
{ code: 'la', label: 'latine' },
|
|
1238
|
+
{ code: 'lb', label: 'Lëtzebuergesch' },
|
|
1239
|
+
{ code: 'lg', label: 'Luganda' },
|
|
1240
|
+
{ code: 'li', label: 'Limburgs' },
|
|
1241
|
+
{ code: 'ln', label: 'Lingála' },
|
|
1242
|
+
{ code: 'lo', label: 'ພາສາລາວ' },
|
|
1243
|
+
{ code: 'lt', label: 'lietuvių kalba' },
|
|
1244
|
+
{ code: 'lu', label: 'Lëtzebuergesch' },
|
|
1245
|
+
{ code: 'lv', label: 'latviešu valoda' },
|
|
1246
|
+
{ code: 'mg', label: 'Malagasy fiteny' },
|
|
1247
|
+
{ code: 'mh', label: 'Kajin M̧ajeļ' },
|
|
1248
|
+
{ code: 'mi', label: 'te reo Māori' },
|
|
1249
|
+
{ code: 'mk', label: 'македонски јазик' },
|
|
1250
|
+
{ code: 'ml', label: 'മലയാളം' },
|
|
1251
|
+
{ code: 'mn', label: 'монгол' },
|
|
1252
|
+
{ code: 'mr', label: 'मराठी' },
|
|
1253
|
+
{ code: 'ms', label: 'bahasa Melayu, بهاس ملايو' },
|
|
1254
|
+
{ code: 'mt', label: 'Malti' },
|
|
1255
|
+
{ code: 'my', label: 'ဗမာစာ' },
|
|
1256
|
+
{ code: 'na', label: 'Ekakairũ Naoero' },
|
|
1257
|
+
{ code: 'nb', label: 'Norsk bokmål' },
|
|
1258
|
+
{ code: 'nd', label: 'isiNdebele' },
|
|
1259
|
+
{ code: 'ne', label: 'नेपाली' },
|
|
1260
|
+
{ code: 'ng', label: 'Owambo' },
|
|
1261
|
+
{ code: 'nl', label: 'Nederlands' },
|
|
1262
|
+
{ code: 'nn', label: 'Norsk nynorsk' },
|
|
1263
|
+
{ code: 'no', label: 'Norsk' },
|
|
1264
|
+
{ code: 'nr', label: 'isiNdebele' },
|
|
1265
|
+
{ code: 'nv', label: 'Diné bizaad, Dinékʼehǰí' },
|
|
1266
|
+
{ code: 'ny', label: 'chiCheŵa, chinyanja' },
|
|
1267
|
+
{ code: 'oc', label: 'Occitan' },
|
|
1268
|
+
{ code: 'oj', label: 'ᐊᓂᔑᓈᐯᒧᐎᓐ' },
|
|
1269
|
+
{ code: 'om', label: 'Afaan Oromoo' },
|
|
1270
|
+
{ code: 'or', label: 'ଓଡ଼ିଆ' },
|
|
1271
|
+
{ code: 'os', label: 'ирон æвзаг' },
|
|
1272
|
+
{ code: 'pa', label: 'ਪੰਜਾਬੀ, پنجابی' },
|
|
1273
|
+
{ code: 'pi', label: 'पाऴि' },
|
|
1274
|
+
{ code: 'pl', label: 'polski' },
|
|
1275
|
+
{ code: 'ps', label: 'پښتو' },
|
|
1276
|
+
{ code: 'pt', label: 'Português' },
|
|
1277
|
+
{ code: 'qu', label: 'Runa Simi, Kichwa' },
|
|
1278
|
+
{ code: 'rm', label: 'rumantsch grischun' },
|
|
1279
|
+
{ code: 'rn', label: 'kiRundi' },
|
|
1280
|
+
{ code: 'ro', label: 'română' },
|
|
1281
|
+
{ code: 'ru', label: 'русский язык' },
|
|
1282
|
+
{ code: 'rw', label: 'Ikinyarwanda' },
|
|
1283
|
+
{ code: 'sa', label: 'संस्कृतम्' },
|
|
1284
|
+
{ code: 'sc', label: 'sardu' },
|
|
1285
|
+
{ code: 'sd', label: 'सिन्धी, سنڌي، سندھی' },
|
|
1286
|
+
{ code: 'se', label: 'Davvisámegiella' },
|
|
1287
|
+
{ code: 'sg', label: 'yângâ tî sängö' },
|
|
1288
|
+
{ code: 'si', label: 'සිංහල' },
|
|
1289
|
+
{ code: 'sk', label: 'slovenčina' },
|
|
1290
|
+
{ code: 'sl', label: 'slovenščina' },
|
|
1291
|
+
{ code: 'sm', label: 'gagana faa Samoa' },
|
|
1292
|
+
{ code: 'sn', label: 'chiShona' },
|
|
1293
|
+
{ code: 'so', label: 'Soomaaliga, af Soomaali' },
|
|
1294
|
+
{ code: 'sq', label: 'Shqip' },
|
|
1295
|
+
{ code: 'sr', label: 'српски језик' },
|
|
1296
|
+
{ code: 'ss', label: 'SiSwati' },
|
|
1297
|
+
{ code: 'st', label: 'Sesotho' },
|
|
1298
|
+
{ code: 'su', label: 'Basa Sunda' },
|
|
1299
|
+
{ code: 'sv', label: 'svenska' },
|
|
1300
|
+
{ code: 'sw', label: 'Kiswahili' },
|
|
1301
|
+
{ code: 'ta', label: 'தமிழ்' },
|
|
1302
|
+
{ code: 'te', label: 'తెలుగు' },
|
|
1303
|
+
{ code: 'tg', label: 'тоҷикӣ, toğikī, تاجیکی' },
|
|
1304
|
+
{ code: 'th', label: 'ไทย' },
|
|
1305
|
+
{ code: 'ti', label: 'ትግርኛ' },
|
|
1306
|
+
{ code: 'tk', label: 'Türkmen, Түркмен' },
|
|
1307
|
+
{ code: 'tl', label: 'Wikang Tagalog' },
|
|
1308
|
+
{ code: 'tn', label: 'Setswana' },
|
|
1309
|
+
{ code: 'to', label: 'faka Tonga' },
|
|
1310
|
+
{ code: 'tr', label: 'Türkçe' },
|
|
1311
|
+
{ code: 'ts', label: 'Xitsonga' },
|
|
1312
|
+
{ code: 'tt', label: 'татарча, tatarça, تاتارچا' },
|
|
1313
|
+
{ code: 'tw', label: 'Twi' },
|
|
1314
|
+
{ code: 'ty', label: 'Reo Tahiti' },
|
|
1315
|
+
{ code: 'ug', label: 'Uyƣurqə, ئۇيغۇرچە' },
|
|
1316
|
+
{ code: 'uk', label: 'українська' },
|
|
1317
|
+
{ code: 'ur', label: 'اردو', isRtl: true },
|
|
1318
|
+
{ code: 'uz', label: 'zbek, Ўзбек, أۇزبېك' },
|
|
1319
|
+
{ code: 've', label: 'Tshivenḓa' },
|
|
1320
|
+
{ code: 'vi', label: 'Tiếng Việt' },
|
|
1321
|
+
{ code: 'vo', label: 'Volapük' },
|
|
1322
|
+
{ code: 'wa', label: 'Walon' },
|
|
1323
|
+
{ code: 'wo', label: 'Wollof' },
|
|
1324
|
+
{ code: 'xh', label: 'isiXhosa' },
|
|
1325
|
+
{ code: 'yi', label: 'ייִדיש' },
|
|
1326
|
+
{ code: 'yo', label: 'Yorùbá' },
|
|
1327
|
+
{ code: 'za', label: 'Saɯ cueŋƅ, Saw cuengh' },
|
|
1328
|
+
{ code: 'zh', label: '中文 (Zhōngwén), 汉语, 漢語' },
|
|
1329
|
+
]; }
|
|
1146
1330
|
/**
|
|
1147
1331
|
* Matches the given string array to the EU languages and returns a EuiLanguage array.
|
|
1148
1332
|
* In case that no codes provided it returns the EU Languages array.
|
|
@@ -1194,6 +1378,38 @@ class EuiEuLanguages {
|
|
|
1194
1378
|
static filterEULanguages(array) {
|
|
1195
1379
|
return array ? array.filter((lang) => Object.keys(this.languages).includes(lang.code)) : [];
|
|
1196
1380
|
}
|
|
1381
|
+
/**
|
|
1382
|
+
* @param code language code, ex. 'lu'
|
|
1383
|
+
*/
|
|
1384
|
+
static getLanguageByCode(code) {
|
|
1385
|
+
return code ? this.allLanguages.find(lang => lang.code === code) : undefined;
|
|
1386
|
+
}
|
|
1387
|
+
/**
|
|
1388
|
+
* @param code language code, ex. 'lu'
|
|
1389
|
+
*/
|
|
1390
|
+
static isEuLanguage(code) {
|
|
1391
|
+
return Object.keys(this.languages).includes(code);
|
|
1392
|
+
}
|
|
1393
|
+
/**
|
|
1394
|
+
* Returns array of EuiLanguage that match the given codes. If codes array is empty, returns all languages.
|
|
1395
|
+
* @param codes A string array of 2 char codes, ex. ['en', 'de']
|
|
1396
|
+
*/
|
|
1397
|
+
static getAllLanguagesByCodes(codes) {
|
|
1398
|
+
return (codes && codes.length > 0) ? this.allLanguages.filter(el => codes.includes(el.code)) : this.allLanguages;
|
|
1399
|
+
}
|
|
1400
|
+
}
|
|
1401
|
+
|
|
1402
|
+
if (typeof crypto === 'object' && typeof crypto.randomUUID !== 'function') {
|
|
1403
|
+
crypto.randomUUID = () => {
|
|
1404
|
+
console.warn('usage of crypto.randomUUID() outside of HTTPS poses a ' +
|
|
1405
|
+
'security risk for you application and its users');
|
|
1406
|
+
const pattern = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
|
|
1407
|
+
return pattern.replace(/[xy]/g, (c) => {
|
|
1408
|
+
const r = (Math.random() * 16) | 0;
|
|
1409
|
+
const v = c === 'x' ? r : (r & 0x3) | 0x8;
|
|
1410
|
+
return v.toString(16);
|
|
1411
|
+
});
|
|
1412
|
+
};
|
|
1197
1413
|
}
|
|
1198
1414
|
|
|
1199
1415
|
/**
|