azure-devops-ui
Version:
React components for building web UI in Azure DevOps
1 lines • 5.53 kB
JavaScript
import*as Culture from"../../Core/Util/Culture";function prepareForComparison(r,e){return r?e?r.toLocaleUpperCase():r:""}function comparer(r,e,t){return r===e?0:prepareForComparison(r,t).localeCompare(prepareForComparison(e,t),navigator.language)}function localeComparer(r,e){return comparer(r,e,!1)}function localeIgnoreCaseComparer(r,e){return comparer(r,e,!0)}function equals(r,e,t){return t?0===localeIgnoreCaseComparer(r,e):0===localeComparer(r,e)}function startsWith(r,e,t){return 0===(t?localeIgnoreCaseComparer:localeComparer)(e,r.substr(0,e.length))}function endsWith(r,e,t){return 0===(t?localeIgnoreCaseComparer:localeComparer)(e,r.substr(r.length-e.length,e.length))}function caseInsensitiveContains(r,e){return-1!==r.toLocaleLowerCase().indexOf(e.toLocaleLowerCase())}function format(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return _stringFormat(!1,r,e)}function localeFormat(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return _stringFormat(!0,r,e)}function _stringFormat(r,e,t){for(var n="",a=0;;){var o=e.indexOf("{",a),i=e.indexOf("}",a);if(o<0&&i<0){n+=e.slice(a);break}if(0<i&&(i<o||o<0)){if("}"!==e.charAt(i+1))throw new Error("The format string contains an unmatched opening or closing brace.");n+=e.slice(a,i+1),a=i+2}else if(n+=e.slice(a,o),"{"===e.charAt(a=o+1))n+="{",a++;else{if(i<0)throw new Error("The format string contains an unmatched opening or closing brace.");var o=e.substring(a,i),s=o.indexOf(":"),u=parseInt(s<0?o:o.substring(0,s),10);if(isNaN(u))throw new Error("The format string is invalid.");o=s<0?"":o.substring(s+1),s=t[u];(s=null==s?"":s).toFormattedString?n+=s.toFormattedString(o):"number"==typeof s?n+=numberToString(s,r,o):s instanceof Date?n+=dateToString(s,r):s.format?n+=s.format(o):n+=s.toString(),a=i+1}}return n}var localeFormatters="Intl"in window?{date:new Intl.DateTimeFormat,dateTime:new Intl.DateTimeFormat(void 0,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"})}:{};function dateToString(r,e){var t="string"==typeof e?e:"dateTime";return e?(localeFormatters[t]||localeFormatters.dateTime).format(r):r.toString()}var EmptyGuidString="00000000-0000-0000-0000-000000000000";function isGuid(r){return/^\{?([\dA-F]{8})-?([\dA-F]{4})-?([\dA-F]{4})-?([\dA-F]{4})-?([\dA-F]{12})\}?$/i.test(r)}function newGuid(){var r=(128+Math.floor(64*Math.random())).toString(16);return oct(8)+"-"+oct(4)+"-4"+oct(3)+"-"+r+oct(2)+"-"+oct(12)}var controlChars=/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F-\u009F]/;function containsControlChars(r){return controlChars.test(r)}var surrogateChars=/(^[\uD800-\uDFFF]$)|[^\uD800-\uDBFF](?=[\uDC00-\uDFFF])|[\uD800-\uDBFF](?![\uDC00-\uDFFF])/;function containsMismatchedSurrogateChars(r){return surrogateChars.test(r)}function numberToString(r,e,t){if(!t||0===t.length||"i"===t)return e?r.toLocaleString():r.toString();function g(r,e,t){for(var n=r.length;n<e;n++)r=t?"0"+r:r+"0";return r}function n(r,e,t,n,a){var o=t[0],i=1,s=Math.pow(10,e),s=Math.round(r*s)/s,u="",s=(c=(r=s=isFinite(s)?s:r).toString()).split(/e/i),c=s[0],r=1<s.length?parseInt(s[1]):0;c=(s=c.split("."))[0],u=1<s.length?s[1]:"",0<r?(c+=(u=g(u,r,!1)).slice(0,r),u=u.substr(r)):r<0&&(u=(c=g(c,1+(r=-r),!0)).slice(-r,c.length)+u,c=c.slice(0,-r));for(var u=0<e?a+(u=u.length>e?u.slice(0,e):g(u,e,!1)):"",l=c.length-1,m="";0<=l;){if(0===o||l<o)return 0<m.length?c.slice(0,l+1)+n+m+u:c.slice(0,l+1)+u;m=0<m.length?c.slice(l-o+1,l+1)+n+m:c.slice(l-o+1,l+1),l-=o,i<t.length&&(o=t[i],i++)}return c.slice(0,l+1)+n+m+u}var a,o,i=(e?Culture.getCurrentCulture():Culture.getInvariantCulture()).numberFormat,s=-1;switch(1<(t=t||"D").length&&(s=parseInt(t.slice(1),10)),t.charAt(0)){case"d":case"D":o="n",-1!==s?(a=g(""+Math.abs(r),s,!0),r<0&&(a="-"+a)):a=""+r;break;case"c":case"C":o=r<0?["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"][i.CurrencyNegativePattern]:["$n","n$","$ n","n $"][i.CurrencyPositivePattern],-1===s&&(s=i.CurrencyDecimalDigits),a=n(Math.abs(r),s,i.CurrencyGroupSizes,i.CurrencyGroupSeparator,i.CurrencyDecimalSeparator);break;case"n":case"N":o=r<0?["(n)","-n","- n","n-","n -"][i.NumberNegativePattern]:"n",-1===s&&(s=i.NumberDecimalDigits),a=n(Math.abs(r),s,i.NumberGroupSizes,i.NumberGroupSeparator,i.NumberDecimalSeparator);break;case"p":case"P":o=r<0?["-n %","-n%","-%n"][i.PercentNegativePattern]:["n %","n%","%n"][i.PercentPositivePattern],-1===s&&(s=i.PercentDecimalDigits),a=n(100*Math.abs(r),s,i.PercentGroupSizes,i.PercentGroupSeparator,i.PercentDecimalSeparator);break;default:throw new Error("Format specifier was invalid.")}for(var u=/n|\$|-|%/g,c="";;){var l=u.lastIndex,m=u.exec(o);if(c+=o.slice(l,m?m.index:o.length),!m)break;switch(m[0]){case"n":c+=a;break;case"$":c+=i.CurrencySymbol;break;case"-":/[1-9]/.test(a)&&(c+=i.NegativeSign);break;case"%":c+=i.PercentSymbol;break;default:throw new Error("Invalid number format pattern")}}return c}function oct(r){for(var e="",t=0;t<r;t++)e+=Math.floor(16*Math.random()).toString(16);return e}function safeSubstring(r,e,t){for(e=Math.max(0,Math.min(e,r.length)),t=Math.min(r.length,Math.max(t,0));e<t&&56320==(64512&r.charCodeAt(e));)e++;for(;e<t&&55296==(64512&r.charCodeAt(t-1));)t--;return r.substring(e,t)}export{localeComparer,localeIgnoreCaseComparer,equals,startsWith,endsWith,caseInsensitiveContains,format,localeFormat,dateToString,EmptyGuidString,isGuid,newGuid,containsControlChars,containsMismatchedSurrogateChars,numberToString,safeSubstring};