MCPcopy Create free account
hub / github.com/Snapchat/Valdi / d

Function d

valdi/vscode_debugger/demos/node/micromatch.js:171–171  ·  view source on GitHub ↗
(t)

Source from the content-addressed store, hash-verified

169 * Copyright (c) 2015, 2017, Jon Schlinkert.
170 * Released under the MIT License.
171 */var n=r(28),i=r(21),o={};function s(t,e,r){if(t===e)return{pattern:String(t),digits:[]};for(var n,i,o=function(t,e){var r=[];for(var n in t)r.push([t[n],e[n]]);return r}(String(t),String(e)),s=o.length,a=-1,u="",c=0;++a<s;){var p=o[a],f=p[0],l=p[1];f===l?u+=f:"0"!==f||"9"!==l?u+="["+(n=f)+((i=l)-n==1?"":"-")+i+"]":c+=1}return c&&(u+=r.shorthand?"\\d":"[0-9]"),{pattern:u,digits:[c]}}function a(t,e,r,n){for(var i,o=function(t,e){t=Number(t);for(var r=1,n=[e=Number(e)],i=+l(t,r);t<=i&&i<=e;)n=p(n,i),i=+l(t,r+=1);var o=1;for(i=h(e+1,o)-1;t<i&&i<=e;)n=p(n,i),i=h(e+1,o+=1)-1;return n.sort(c),n}(t,e),a=o.length,u=-1,f=[],d=t;++u<a;){var v=o[u],m=s(d,v,n),b="";r.isPadded||!i||i.pattern!==m.pattern?(r.isPadded&&(b=g(v,r)),m.string=b+m.pattern+y(m.digits),f.push(m),d=v+1,i=m):(i.digits.length>1&&i.digits.pop(),i.digits.push(m.digits[0]),i.string=i.pattern+y(i.digits),d=v+1)}return f}function u(t,e,r,n,i){for(var o=[],s=0;s<t.length;s++){var a=t[s].string;!1!==i.relaxZeros&&"-"===r&&"0"===a.charAt(0)&&(a="{"===a.charAt(1)?"0*"+a.replace(/^0\{\d+\}/,""):"0*"+a.slice(1)),n||f(e,"string",a)||o.push(r+a),n&&f(e,"string",a)&&o.push(r+a)}return o}function c(t,e){return t>e?1:e>t?-1:0}function p(t,e){return-1===t.indexOf(e)&&t.push(e),t}function f(t,e,r){for(var n=0;n<t.length;n++)if(t[n][e]===r)return!0;return!1}function l(t,e){return String(t).slice(0,-e)+n("9",e)}function h(t,e){return t-t%Math.pow(10,e)}function y(t){var e=t[0],r=t[1]?","+t[1]:"";return r||e&&1!==e?"{"+e+r+"}":""}function d(t){return/^-?(0+)\d/.exec(t)}function g(t,e){if(e.isPadded){var r=Math.abs(e.maxLen-String(t).length);switch(r){case 0:return"";case 1:return"0";default:return"0{"+r+"}"}}return t}t.exports=function(t,e,r){if(!1===i(t))throw new RangeError("toRegexRange: first argument is invalid.");if(void 0===e||t===e)return String(t);if(!1===i(e))throw new RangeError("toRegexRange: second argument is invalid.");r=r||{};var n=t+":"+e+"="+String(r.relaxZeros)+String(r.shorthand)+String(r.capture);if(o.hasOwnProperty(n))return o[n].result;var s=Math.min(t,e),c=Math.max(t,e);if(1===Math.abs(s-c)){var p=t+"|"+e;return r.capture?"("+p+")":p}var f=d(t)||d(e),l=[],h=[],y={min:t,max:e,a:s,b:c};return f&&(y.isPadded=f,y.maxLen=String(y.max).length),s<0&&(h=a(c<0?Math.abs(c):1,Math.abs(s),y,r),s=y.a=0),c>=0&&(l=a(s,c,y,r)),y.negatives=h,y.positives=l,y.result=function(t,e,r){var n=u(t,e,"-",!1,r)||[],i=u(e,t,"",!1,r)||[],o=u(t,e,"-?",!0,r)||[];return n.concat(o).concat(i).join("|")}(h,l,r),r.capture&&l.length+h.length>1&&(y.result="("+y.result+")"),o[n]=y,y.result}},function(t,e,r){"use strict";
172/*!
173 * repeat-element <https://github.com/jonschlinkert/repeat-element>
174 *

Callers 4

micromatch.jsFile · 0.85
fFunction · 0.85
lFunction · 0.85
tslib.jsFile · 0.85

Calls 6

cFunction · 0.85
sFunction · 0.70
aFunction · 0.70
iFunction · 0.70
matchMethod · 0.45
testMethod · 0.45

Tested by

no test coverage detected