UNPKG

@react-native/debugger-frontend

Version:
2 lines (1 loc) 7.59 kB
import*as t from"../../third_party/i18n/i18n.js";import*as i from"../root/root.js";import*as e from"../platform/platform.js";let n=null;class o{locale;lookupClosestDevToolsLocale;constructor(t){this.lookupClosestDevToolsLocale=t.lookupClosestDevToolsLocale,"browserLanguage"===t.settingLanguage?this.locale=t.navigatorLanguage||"en-US":this.locale=t.settingLanguage,this.locale=this.lookupClosestDevToolsLocale(this.locale)}static instance(t={create:!1}){if(!n&&!t.create)throw new Error("No LanguageSelector instance exists yet.");return t.create&&(n=new o(t.data)),n}static removeInstance(){n=null}forceFallbackLocale(){this.locale="en-US"}languageIsSupportedByDevTools(t){return r(t,this.lookupClosestDevToolsLocale(t))}}function r(t,i){const e=new Intl.Locale(t),n=new Intl.Locale(i);return e.language===n.language}var a=Object.freeze({__proto__:null,DevToolsLocale:o,localeLanguagesMatch:r});function s(t){let i;return{format:e=>(i||(i=new Intl.NumberFormat(o.instance().locale,t)),function(t,i){const e=t.formatToParts(i);let n=!1;for(const t of e)"literal"===t.type&&(" "===t.value?(n=!0,t.value=" "):" "===t.value&&(n=!0));if(n)return e.map((t=>t.value)).join("");const o=e.findIndex((t=>"unit"===t.type));if(-1===o)return e.map((t=>t.value)).join("");if(0===o)return e[0].value+" "+e.slice(1).map((t=>t.value)).join("");return e.slice(0,o).map((t=>t.value)).join("")+" "+e.slice(o).map((t=>t.value)).join("")}(i,e)),formatToParts:e=>(i||(i=new Intl.NumberFormat(o.instance().locale,t)),i.formatToParts(e))}}var l=Object.freeze({__proto__:null,defineFormatter:s});const c=s({style:"unit",unit:"byte",unitDisplay:"narrow",minimumFractionDigits:0,maximumFractionDigits:0}),u=s({style:"unit",unit:"kilobyte",unitDisplay:"narrow",minimumFractionDigits:1,maximumFractionDigits:1}),m=s({style:"unit",unit:"kilobyte",unitDisplay:"narrow",minimumFractionDigits:0,maximumFractionDigits:0}),g=s({style:"unit",unit:"megabyte",unitDisplay:"narrow",minimumFractionDigits:1,maximumFractionDigits:1}),f=s({style:"unit",unit:"megabyte",unitDisplay:"narrow",minimumFractionDigits:0,maximumFractionDigits:0});var p=Object.freeze({__proto__:null,bytesToString:t=>{if(t<1e3)return c.format(t);const i=t/1e3;if(i<100)return u.format(i);if(i<1e3)return m.format(i);const e=i/1e3;return e<100?g.format(e):f.format(e)},formatBytesToKb:t=>{const i=t/1e3;return i<100?u.format(i):m.format(i)}});const d=new t.I18n.I18n(["af","am","ar","as","az","be","bg","bn","bs","ca","cs","cy","da","de","el","en-GB","es-419","es","et","eu","fa","fi","fil","fr-CA","fr","gl","gu","he","hi","hr","hu","hy","id","is","it","ja","ka","kk","km","kn","ko","ky","lo","lt","lv","mk","ml","mn","mr","ms","my","ne","nl","no","or","pa","pl","pt-PT","pt","ro","ru","si","sk","sl","sq","sr-Latn","sr","sv","sw","ta","te","th","tr","uk","ur","uz","vi","zh-HK","zh-TW","zu","en-US","zh"],"en-US"),D=new Set(["en-US","zh"]);function S(t,i,e={}){return t.getLocalizedStringSetFor(o.instance().locale).getLocalizedString(i,e)}var y=Object.freeze({__proto__:null,deserializeUIString:function(t){return t?JSON.parse(t):{string:"",values:{}}},fetchAndRegisterLocaleData:async function(t,e=self.location.toString()){const n=fetch(function(t,e){const n=i.Runtime.getRemoteBase(e);if(n?.version&&!D.has(t))return"@HOST@/remote/serve_file/@VERSION@/core/i18n/locales/@LOCALE@.json".replace("@HOST@","devtools://devtools").replace("@VERSION@",n.version).replace("@LOCALE@",t);const o="./locales/@LOCALE@.json".replace("@LOCALE@",t);return new URL(o,import.meta.url).toString()}(t,e)).then((t=>t.json())),o=new Promise(((t,i)=>window.setTimeout((()=>i(new Error("timed out fetching locale"))),5e3))),r=await Promise.race([o,n]);d.registerLocaleData(t,r)},getAllSupportedDevToolsLocales:function(){return[...d.supportedLocales]},getFormatLocalizedString:function(t,i,e){const n=t.getLocalizedStringSetFor(o.instance().locale).getMessageFormatterFor(i),r=document.createElement("span");for(const t of n.getAst())if(1===t.type){const i=e[t.value];i&&r.append(i)}else"value"in t&&r.append(String(t.value));return r},getLazilyComputedLocalizedString:function(t,i,e={}){return()=>S(t,i,e)},getLocalizedLanguageRegion:function(t,i){const e=new Intl.Locale(t),{language:n,baseName:o}=e,r=n===new Intl.Locale(i.locale).language?"en":o,a=new Intl.DisplayNames([i.locale],{type:"language"}).of(n),s=new Intl.DisplayNames([r],{type:"language"}).of(n);let l="",c="";if(e.region){l=` (${new Intl.DisplayNames([i.locale],{type:"region",style:"short"}).of(e.region)})`,c=` (${new Intl.DisplayNames([r],{type:"region",style:"short"}).of(e.region)})`}return`${a}${l} - ${s}${c}`},getLocalizedString:S,hasLocaleDataForTest:function(t){return d.hasLocaleDataForTest(t)},lockedLazyString:function(t){return()=>t},lockedString:function(t){return t},lookupClosestSupportedDevToolsLocale:function(t){return d.lookupClosestSupportedLocale(t)},registerUIStrings:function(t,i){return d.registerFileStrings(t,i)},resetLocaleDataForTest:function(){d.resetLocaleDataForTest()},serializeUIString:function(t,i={}){const e={string:t,values:i};return JSON.stringify(e)}});const F=s({style:"unit",unit:"millisecond",unitDisplay:"narrow",minimumFractionDigits:0,maximumFractionDigits:0}),L=s({style:"unit",unit:"millisecond",unitDisplay:"long",minimumFractionDigits:0,maximumFractionDigits:0}),T=s({style:"unit",unit:"microsecond",unitDisplay:"narrow",minimumFractionDigits:0,maximumFractionDigits:0}),v=s({style:"unit",unit:"millisecond",unitDisplay:"narrow",minimumFractionDigits:2,maximumFractionDigits:2}),w=s({style:"unit",unit:"second",unitDisplay:"narrow",minimumFractionDigits:2,maximumFractionDigits:2}),h=s({style:"unit",unit:"minute",unitDisplay:"short",minimumFractionDigits:0,maximumFractionDigits:1}),z=s({style:"unit",unit:"hour",unitDisplay:"short",minimumFractionDigits:0,maximumFractionDigits:1}),k=s({style:"unit",unit:"day",unitDisplay:"long",minimumFractionDigits:0,maximumFractionDigits:1});function x(t,i){if(!isFinite(t))return"-";if(i&&t<.1)return T.format(1e3*t);if(i&&t<1e3)return v.format(t);if(t<1e3)return F.format(t);const e=t/1e3;if(e<60)return w.format(e);const n=e/60;if(n<60)return h.format(n);const o=n/60;if(o<24)return z.format(o);const r=o/24;return k.format(r)}const _=new Map;const b=new Map;var I=Object.freeze({__proto__:null,formatMicroSecondsAsMillisFixed:function(t){const i=e.Timing.microSecondsToMilliSeconds(t);return F.format(i)},formatMicroSecondsAsMillisFixedExpanded:function(t){const i=e.Timing.microSecondsToMilliSeconds(t);return L.format(i)},formatMicroSecondsAsSeconds:function(t){const i=e.Timing.microSecondsToMilliSeconds(t),n=e.Timing.milliSecondsToSeconds(i);return w.format(n)},formatMicroSecondsTime:function(t){return x(e.Timing.microSecondsToMilliSeconds(t),!0)},formatPartsMicroSecondsAsMillisFixed:function(t){const i=e.Timing.microSecondsToMilliSeconds(t);return F.formatToParts(i)},formatPartsMicroSecondsAsSeconds:function(t){const i=e.Timing.microSecondsToMilliSeconds(t),n=e.Timing.milliSecondsToSeconds(i);return w.formatToParts(n)},millisToString:x,preciseMillisToString:function(t,i=0){let e=_.get(i);return e||(e=s({style:"unit",unit:"millisecond",unitDisplay:"narrow",minimumFractionDigits:i,maximumFractionDigits:i}),_.set(i,e)),e.format(t)},preciseSecondsToString:function(t,i=0){let e=b.get(i);return e||(e=s({style:"unit",unit:"second",unitDisplay:"narrow",minimumFractionDigits:i,maximumFractionDigits:i}),b.set(i,e)),e.format(t)},secondsToString:function(t,i){return isFinite(t)?x(1e3*t,i):"-"}});export{p as ByteUtilities,a as DevToolsLocale,l as NumberFormatter,I as TimeUtilities,y as i18n};