view on requirebin
Created
November 21, 2013 00:09
-
-
Save kirbysayshi/7573618 to your computer and use it in GitHub Desktop.
requirebin sketch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var semver = require('semver') | |
console.log(semver.satisfies('0.3.0-beta1', '^0.3.0')) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require=function(e,t,n){function i(n,s){if(!t[n]){if(!e[n]){var o="function"==typeof require&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);throw Error("Cannot find module '"+n+"'")}var u=t[n]={exports:{}};e[n][0].call(u.exports,function(t){var r=e[n][1][t];return i(r?r:t)},u,u.exports)}return t[n].exports}for(var r="function"==typeof require&&require,s=0;n.length>s;s++)i(n[s]);return i}({semver:[function(e,n){n.exports=e("S9zMH4")},{}],S9zMH4:[function(e,n,i){(function(exports){function parse(version,loose){var r=loose?re[LOOSE]:re[FULL];return r.test(version)?new SemVer(version,loose):null}function valid(version,loose){var v=parse(version,loose);return v?v.version:null}function clean(version,loose){var s=parse(version,loose);return s?s.version:null}function SemVer(version,loose){if(version instanceof SemVer){if(version.loose===loose)return version;version=version.version}if(!(this instanceof SemVer))return new SemVer(version,loose);this.loose=loose;var m=version.trim().match(loose?re[LOOSE]:re[FULL]);if(!m)throw new TypeError("Invalid Version: "+version);this.raw=version,this.major=+m[1],this.minor=+m[2],this.patch=+m[3],this.prerelease=m[4]?m[4].split(".").map(function(id){return/^[0-9]+$/.test(id)?+id:id}):[],this.build=m[5]?m[5].split("."):[],this.format()}function inc(version,release,loose){try{return new SemVer(version,loose).inc(release).version}catch(er){return null}}function compareIdentifiers(a,b){var anum=numeric.test(a),bnum=numeric.test(b);return anum&&bnum&&(a=+a,b=+b),anum&&!bnum?-1:bnum&&!anum?1:b>a?-1:a>b?1:0}function rcompareIdentifiers(a,b){return compareIdentifiers(b,a)}function compare(a,b,loose){return new SemVer(a,loose).compare(b)}function compareLoose(a,b){return compare(a,b,!0)}function rcompare(a,b,loose){return compare(b,a,loose)}function sort(list,loose){return list.sort(function(a,b){return exports.compare(a,b,loose)})}function rsort(list,loose){return list.sort(function(a,b){return exports.rcompare(a,b,loose)})}function gt(a,b,loose){return compare(a,b,loose)>0}function lt(a,b,loose){return 0>compare(a,b,loose)}function eq(a,b,loose){return 0===compare(a,b,loose)}function neq(a,b,loose){return 0!==compare(a,b,loose)}function gte(a,b,loose){return compare(a,b,loose)>=0}function lte(a,b,loose){return 0>=compare(a,b,loose)}function cmp(a,op,b,loose){var ret;switch(op){case"===":ret=a===b;break;case"!==":ret=a!==b;break;case"":case"=":case"==":ret=eq(a,b,loose);break;case"!=":ret=neq(a,b,loose);break;case">":ret=gt(a,b,loose);break;case">=":ret=gte(a,b,loose);break;case"<":ret=lt(a,b,loose);break;case"<=":ret=lte(a,b,loose);break;default:throw new TypeError("Invalid operator: "+op)}return ret}function Comparator(comp,loose){if(comp instanceof Comparator){if(comp.loose===loose)return comp;comp=comp.value}return this instanceof Comparator?(this.loose=loose,this.parse(comp),this.value=this.semver===ANY?"":this.operator+this.semver.version,void 0):new Comparator(comp,loose)}function Range(range,loose){if(range instanceof Range&&range.loose===loose)return range;if(!(this instanceof Range))return new Range(range,loose);if(this.loose=loose,this.raw=range,this.set=range.split(/\s*\|\|\s*/).map(function(range){return this.parseRange(range.trim())},this).filter(function(c){return c.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+range);this.format()}function toComparators(range,loose){return new Range(range,loose).set.map(function(comp){return comp.map(function(c){return c.value}).join(" ").trim().split(" ")})}function isX(id){return!id||"x"===id.toLowerCase()||"*"===id}function hyphenReplace($0,from,fM,fm,fp,fpr,fb,to,tM,tm,tp,tpr){return from=isX(fM)?"":isX(fm)?">="+fM+".0.0-0":isX(fp)?">="+fM+"."+fm+".0-0":">="+from,to=isX(tM)?"":isX(tm)?"<"+(+tM+1)+".0.0-0":isX(tp)?"<"+tM+"."+(+tm+1)+".0-0":tpr?"<="+tM+"."+tm+"."+tp+"-"+tpr:"<="+to,(from+" "+to).trim()}function testSet(set,version){for(var i=0;set.length>i;i++)if(!set[i].test(version))return!1;return!0}function satisfies(version,range,loose){try{range=new Range(range,loose)}catch(er){return!1}return range.test(version)}function maxSatisfying(versions,range,loose){return versions.filter(function(version){return satisfies(version,range,loose)}).sort(function(a,b){return rcompare(a,b,loose)})[0]||null}function validRange(range,loose){try{return new Range(range,loose).range||"*"}catch(er){return null}}function ltr(version,range,loose){return outside(version,range,"<",loose)}function gtr(version,range,loose){return outside(version,range,">",loose)}function outside(version,range,hilo,loose){version=new SemVer(version,loose),range=new Range(range,loose);var gtfn,ltefn,ltfn,comp,ecomp;switch(hilo){case">":gtfn=gt,ltefn=lte,ltfn=lt,comp=">",ecomp=">=";break;case"<":gtfn=lt,ltefn=gte,ltfn=gt,comp="<",ecomp="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(satisfies(version,range,loose))return!1;for(var i=0;range.set.length>i;++i){var high=(range.set[i],null),low=null;if(comparators.forEach(function(comparator){high=high||comparator,low=low||comparator,gtfn(comparator.semver,high.semver,loose)?high=comparator:ltfn(comparator.semver,low.semver,loose)&&(low=comparator)}),high.operator===comp||high.operator===ecomp)return!1;if((!low.operator||low.operator===comp)&<efn(version,low.semver))return!1;if(low.operator===ecomp&<fn(version,low.semver))return!1}return!0}"object"==typeof module&&module.exports===exports&&(exports=module.exports=SemVer),exports.SEMVER_SPEC_VERSION="2.0.0";var re=exports.re=[],src=exports.src=[],R=0,NUMERICIDENTIFIER=R++;src[NUMERICIDENTIFIER]="0|[1-9]\\d*";var NUMERICIDENTIFIERLOOSE=R++;src[NUMERICIDENTIFIERLOOSE]="[0-9]+";var NONNUMERICIDENTIFIER=R++;src[NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var MAINVERSION=R++;src[MAINVERSION]="("+src[NUMERICIDENTIFIER]+")\\."+"("+src[NUMERICIDENTIFIER]+")\\."+"("+src[NUMERICIDENTIFIER]+")";var MAINVERSIONLOOSE=R++;src[MAINVERSIONLOOSE]="("+src[NUMERICIDENTIFIERLOOSE]+")\\."+"("+src[NUMERICIDENTIFIERLOOSE]+")\\."+"("+src[NUMERICIDENTIFIERLOOSE]+")";var PRERELEASEIDENTIFIER=R++;src[PRERELEASEIDENTIFIER]="(?:"+src[NUMERICIDENTIFIER]+"|"+src[NONNUMERICIDENTIFIER]+")";var PRERELEASEIDENTIFIERLOOSE=R++;src[PRERELEASEIDENTIFIERLOOSE]="(?:"+src[NUMERICIDENTIFIERLOOSE]+"|"+src[NONNUMERICIDENTIFIER]+")";var PRERELEASE=R++;src[PRERELEASE]="(?:-("+src[PRERELEASEIDENTIFIER]+"(?:\\."+src[PRERELEASEIDENTIFIER]+")*))";var PRERELEASELOOSE=R++;src[PRERELEASELOOSE]="(?:-?("+src[PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+src[PRERELEASEIDENTIFIERLOOSE]+")*))";var BUILDIDENTIFIER=R++;src[BUILDIDENTIFIER]="[0-9A-Za-z-]+";var BUILD=R++;src[BUILD]="(?:\\+("+src[BUILDIDENTIFIER]+"(?:\\."+src[BUILDIDENTIFIER]+")*))";var FULL=R++,FULLPLAIN="v?"+src[MAINVERSION]+src[PRERELEASE]+"?"+src[BUILD]+"?";src[FULL]="^"+FULLPLAIN+"$";var LOOSEPLAIN="[v=\\s]*"+src[MAINVERSIONLOOSE]+src[PRERELEASELOOSE]+"?"+src[BUILD]+"?",LOOSE=R++;src[LOOSE]="^"+LOOSEPLAIN+"$";var GTLT=R++;src[GTLT]="((?:<|>)?=?)";var XRANGEIDENTIFIERLOOSE=R++;src[XRANGEIDENTIFIERLOOSE]=src[NUMERICIDENTIFIERLOOSE]+"|x|X|\\*";var XRANGEIDENTIFIER=R++;src[XRANGEIDENTIFIER]=src[NUMERICIDENTIFIER]+"|x|X|\\*";var XRANGEPLAIN=R++;src[XRANGEPLAIN]="[v=\\s]*("+src[XRANGEIDENTIFIER]+")"+"(?:\\.("+src[XRANGEIDENTIFIER]+")"+"(?:\\.("+src[XRANGEIDENTIFIER]+")"+"(?:("+src[PRERELEASE]+")"+")?)?)?";var XRANGEPLAINLOOSE=R++;src[XRANGEPLAINLOOSE]="[v=\\s]*("+src[XRANGEIDENTIFIERLOOSE]+")"+"(?:\\.("+src[XRANGEIDENTIFIERLOOSE]+")"+"(?:\\.("+src[XRANGEIDENTIFIERLOOSE]+")"+"(?:("+src[PRERELEASELOOSE]+")"+")?)?)?";var XRANGE=R++;src[XRANGE]="^"+src[GTLT]+"\\s*"+src[XRANGEPLAIN]+"$";var XRANGELOOSE=R++;src[XRANGELOOSE]="^"+src[GTLT]+"\\s*"+src[XRANGEPLAINLOOSE]+"$";var LONETILDE=R++;src[LONETILDE]="(?:~>?)";var TILDETRIM=R++;src[TILDETRIM]="(\\s*)"+src[LONETILDE]+"\\s+",re[TILDETRIM]=RegExp(src[TILDETRIM],"g");var tildeTrimReplace="$1~",TILDE=R++;src[TILDE]="^"+src[LONETILDE]+src[XRANGEPLAIN]+"$";var TILDELOOSE=R++;src[TILDELOOSE]="^"+src[LONETILDE]+src[XRANGEPLAINLOOSE]+"$";var LONECARET=R++;src[LONECARET]="(?:\\^)";var CARETTRIM=R++;src[CARETTRIM]="(\\s*)"+src[LONECARET]+"\\s+",re[CARETTRIM]=RegExp(src[CARETTRIM],"g");var caretTrimReplace="$1^",CARET=R++;src[CARET]="^"+src[LONECARET]+src[XRANGEPLAIN]+"$";var CARETLOOSE=R++;src[CARETLOOSE]="^"+src[LONECARET]+src[XRANGEPLAINLOOSE]+"$";var COMPARATORLOOSE=R++;src[COMPARATORLOOSE]="^"+src[GTLT]+"\\s*("+LOOSEPLAIN+")$|^$";var COMPARATOR=R++;src[COMPARATOR]="^"+src[GTLT]+"\\s*("+FULLPLAIN+")$|^$";var COMPARATORTRIM=R++;src[COMPARATORTRIM]="(\\s*)"+src[GTLT]+"\\s*("+LOOSEPLAIN+"|"+src[XRANGEPLAIN]+")",re[COMPARATORTRIM]=RegExp(src[COMPARATORTRIM],"g");var comparatorTrimReplace="$1$2$3",HYPHENRANGE=R++;src[HYPHENRANGE]="^\\s*("+src[XRANGEPLAIN]+")"+"\\s+-\\s+"+"("+src[XRANGEPLAIN]+")"+"\\s*$";var HYPHENRANGELOOSE=R++;src[HYPHENRANGELOOSE]="^\\s*("+src[XRANGEPLAINLOOSE]+")"+"\\s+-\\s+"+"("+src[XRANGEPLAINLOOSE]+")"+"\\s*$";var STAR=R++;src[STAR]="(<|>)?=?\\s*\\*";for(var i=0;R>i;i++)re[i]||(re[i]=RegExp(src[i]));exports.parse=parse,exports.valid=valid,exports.clean=clean,exports.SemVer=SemVer,SemVer.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version},SemVer.prototype.inspect=function(){return'<SemVer "'+this+'">'},SemVer.prototype.toString=function(){return this.version},SemVer.prototype.compare=function(other){return other instanceof SemVer||(other=new SemVer(other,this.loose)),this.compareMain(other)||this.comparePre(other)},SemVer.prototype.compareMain=function(other){return other instanceof SemVer||(other=new SemVer(other,this.loose)),compareIdentifiers(this.major,other.major)||compareIdentifiers(this.minor,other.minor)||compareIdentifiers(this.patch,other.patch)},SemVer.prototype.comparePre=function(other){if(other instanceof SemVer||(other=new SemVer(other,this.loose)),this.prerelease.length&&!other.prerelease.length)return-1;if(!this.prerelease.length&&other.prerelease.length)return 1;if(!this.prerelease.lenth&&!other.prerelease.length)return 0;var i=0;do{var a=this.prerelease[i],b=other.prerelease[i];if(void 0===a&&void 0===b)return 0;if(void 0===b)return 1;if(void 0===a)return-1;if(a!==b)return compareIdentifiers(a,b)}while(++i)},SemVer.prototype.inc=function(release){switch(release){case"major":this.major++,this.minor=-1;case"minor":this.minor++,this.patch=-1;case"patch":this.patch++,this.prerelease=[];break;case"prerelease":if(0===this.prerelease.length)this.prerelease=[0];else{for(var i=this.prerelease.length;--i>=0;)"number"==typeof this.prerelease[i]&&(this.prerelease[i]++,i=-2);-1===i&&this.prerelease.push(0)}break;default:throw Error("invalid increment argument: "+release)}return this.format(),this},exports.inc=inc,exports.compareIdentifiers=compareIdentifiers;exports.rcompareIdentifiers=rcompareIdentifiers,exports.compare=compare,exports.compareLoose=compareLoose,exports.rcompare=rcompare,exports.sort=sort,exports.rsort=rsort,exports.gt=gt,exports.lt=lt,exports.eq=eq,exports.neq=neq,exports.gte=gte,exports.lte=lte,exports.cmp=cmp,exports.Comparator=Comparator;var ANY={};Comparator.prototype.parse=function(comp){var r=this.loose?re[COMPARATORLOOSE]:re[COMPARATOR],m=comp.match(r);if(!m)throw new TypeError("Invalid comparator: "+comp);this.operator=m[1],m[2]?(this.semver=new SemVer(m[2],this.loose),"<"!==this.operator||this.semver.prerelease.length||(this.semver.prerelease=["0"],this.semver.format())):this.semver=ANY},Comparator.prototype.inspect=function(){return'<SemVer Comparator "'+this+'">'},Comparator.prototype.toString=function(){return this.value},Comparator.prototype.test=function(version){return this.semver===ANY?!0:cmp(version,this.operator,this.semver,this.loose)},exports.Range=Range,Range.prototype.inspect=function(){return'<SemVer Range "'+this.range+'">'},Range.prototype.format=function(){return this.range=this.set.map(function(comps){return comps.join(" ").trim()}).join("||").trim(),this.range},Range.prototype.toString=function(){return this.range},Range.prototype.parseRange=function(range){var loose=this.loose;range=range.trim();var hr=loose?re[HYPHENRANGELOOSE]:re[HYPHENRANGE];range=range.replace(hr,hyphenReplace),range=range.replace(re[COMPARATORTRIM],comparatorTrimReplace),range=range.replace(re[TILDETRIM],tildeTrimReplace),range=range.replace(re[CARETTRIM],caretTrimReplace),range=range.split(/\s+/).join(" ");var compRe=loose?re[COMPARATORLOOSE]:re[COMPARATOR],set=range.split(" ").map(function(comp){return parseComparator(comp,loose)}).join(" ").split(/\s+/);return this.loose&&(set=set.filter(function(comp){return!!comp.match(compRe)})),set=set.map(function(comp){return new Comparator(comp,loose)})},exports.toComparators=toComparators,Range.prototype.test=function(version){if(!version)return!1;for(var i=0;this.set.length>i;i++)if(testSet(this.set[i],version))return!0;return!1},exports.satisfies=satisfies,exports.maxSatisfying=maxSatisfying,exports.validRange=validRange,exports.ltr=ltr,exports.gtr=gtr,exports.outside=outside,"function"==typeof define&&define.amd&&define(exports)})("object"==typeof i?i:"function"==typeof define&&define.amd?{}:semver={})},{}]},{},[]);var semver=require("semver");console.log(semver.satisfies("0.3.0-beta1","^0.3.0")); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<style type='text/css'>html, body { margin: 0; padding: 0; border: 0; } | |
body, html { height: 100%; width: 100%; }</style> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment