🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

mongodb-schema

Package Overview
Dependencies
Maintainers
3
Versions
77
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mongodb-schema - npm Package Compare versions

Comparing version

to
3.0.1

.eslintrc

708

coverage/lcov-report/prettify.js

@@ -1,1 +0,707 @@

window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.ignoreCase){ac=true}else{if(/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){S=true;ac=false;break}}}var Y={b:8,t:9,n:10,v:11,f:12,r:13};function ab(ah){var ag=ah.charCodeAt(0);if(ag!==92){return ag}var af=ah.charAt(1);ag=Y[af];if(ag){return ag}else{if("0"<=af&&af<="7"){return parseInt(ah.substring(1),8)}else{if(af==="u"||af==="x"){return parseInt(ah.substring(2),16)}else{return ah.charCodeAt(1)}}}}function T(af){if(af<32){return(af<16?"\\x0":"\\x")+af.toString(16)}var ag=String.fromCharCode(af);if(ag==="\\"||ag==="-"||ag==="["||ag==="]"){ag="\\"+ag}return ag}function X(am){var aq=am.substring(1,am.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));var ak=[];var af=[];var ao=aq[0]==="^";for(var ar=ao?1:0,aj=aq.length;ar<aj;++ar){var ah=aq[ar];if(/\\[bdsw]/i.test(ah)){ak.push(ah)}else{var ag=ab(ah);var al;if(ar+2<aj&&"-"===aq[ar+1]){al=ab(aq[ar+2]);ar+=2}else{al=ag}af.push([ag,al]);if(!(al<65||ag>122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;ar<af.length;++ar){var at=af[ar];if(at[0]<=ap[1]+1){ap[1]=Math.max(ap[1],at[1])}else{ai.push(ap=at)}}var an=["["];if(ao){an.push("^")}an.push.apply(an,ak);for(var ar=0;ar<ai.length;++ar){var at=ai[ar];an.push(T(at[0]));if(at[1]>at[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){an[af]=-1}}}}for(var ak=1;ak<an.length;++ak){if(-1===an[ak]){an[ak]=++ad}}for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am;if(an[am]===undefined){aj[ak]="(?:"}}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){aj[ak]="\\"+an[am]}}}}for(var ak=0,am=0;ak<ah;++ak){if("^"===aj[ak]&&"^"!==aj[ak+1]){aj[ak]=""}}if(al.ignoreCase&&S){for(var ak=0;ak<ah;++ak){var ag=aj[ak];var ai=ag.charAt(0);if(ag.length>=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.global||ae.multiline){throw new Error(""+ae)}aa.push("(?:"+W(ae)+")")}return new RegExp(aa.join("|"),ac?"gi":"g")}function a(V){var U=/(?:^|\s)nocode(?:\s|$)/;var X=[];var T=0;var Z=[];var W=0;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=document.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Y=S&&"pre"===S.substring(0,3);function aa(ab){switch(ab.nodeType){case 1:if(U.test(ab.className)){return}for(var ae=ab.firstChild;ae;ae=ae.nextSibling){aa(ae)}var ad=ab.nodeName;if("BR"===ad||"LI"===ad){X[W]="\n";Z[W<<1]=T++;Z[(W++<<1)|1]=ab}break;case 3:case 4:var ac=ab.nodeValue;if(ac.length){if(!Y){ac=ac.replace(/[ \t\r\n]+/g," ")}else{ac=ac.replace(/\r\n?/g,"\n")}X[W]=ac;Z[W<<1]=T;T+=ac.length;Z[(W++<<1)|1]=ab}break}}aa(V);return{sourceCode:X.join("").replace(/\n$/,""),spans:Z}}function B(S,U,W,T){if(!U){return}var V={sourceCode:U,basePos:S};W(V);T.push.apply(T,V.decorations)}var v=/\S/;function o(S){var V=undefined;for(var U=S.firstChild;U;U=U.nextSibling){var T=U.nodeType;V=(T===1)?(V?S:U):(T===3)?(v.test(U.nodeValue)?S:V):V}return V===S?undefined:V}function g(U,T){var S={};var V;(function(){var ad=U.concat(T);var ah=[];var ag={};for(var ab=0,Z=ad.length;ab<Z;++ab){var Y=ad[ab];var ac=Y[3];if(ac){for(var ae=ac.length;--ae>=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae<aq;++ae){var ag=an[ae];var ap=aj[ag];var ai=void 0;var am;if(typeof ap==="string"){am=false}else{var aa=S[ag.charAt(0)];if(aa){ai=ag.match(aa[1]);ap=aa[0]}else{for(var ao=0;ao<X;++ao){aa=T[ao];ai=ag.match(aa[1]);if(ai){ap=aa[0];break}}if(!ai){ap=F}}am=ap.length>=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y<W.length;++Y){ae(W[Y])}if(ag===(ag|0)){W[0].setAttribute("value",ag)}var aa=ac.createElement("OL");aa.className="linenums";var X=Math.max(0,((ag-1))|0)||0;for(var Y=0,T=W.length;Y<T;++Y){af=W[Y];af.className="L"+((Y+X)%10);if(!af.firstChild){af.appendChild(ac.createTextNode("\xA0"))}aa.appendChild(af)}V.appendChild(aa)}function D(ac){var aj=/\bMSIE\b/.test(navigator.userAgent);var am=/\n/g;var al=ac.sourceCode;var an=al.length;var V=0;var aa=ac.spans;var T=aa.length;var ah=0;var X=ac.decorations;var Y=X.length;var Z=0;X[Y]=an;var ar,aq;for(aq=ar=0;aq<Y;){if(X[aq]!==X[aq+2]){X[ar++]=X[aq++];X[ar++]=X[aq++]}else{aq+=2}}Y=ar;for(aq=ar=0;aq<Y;){var at=X[aq];var ab=X[aq+1];var W=aq+2;while(W+2<=Y&&X[W+1]===ab){W+=2}X[ar++]=at;X[ar++]=ab;aq=W}Y=X.length=ar;var ae=null;while(ah<T){var af=aa[ah];var S=aa[ah+2]||an;var ag=X[Z];var ap=X[Z+2]||an;var W=Math.min(S,ap);var ak=aa[ah+1];var U;if(ak.nodeType!==1&&(U=al.substring(V,W))){if(aj){U=U.replace(am,"\r")}ak.nodeValue=U;var ai=ak.ownerDocument;var ao=ai.createElement("SPAN");ao.className=X[Z+1];var ad=ak.parentNode;ad.replaceChild(ao,ak);ao.appendChild(ak);if(V<S){aa[ah+1]=ak=ai.createTextNode(al.substring(W,S));ad.insertBefore(ak,ao.nextSibling)}}V=W;if(V>=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*</.test(S)?"default-markup":"default-code"}return t[T]}c(K,["default-code"]);c(g([],[[F,/^[^<?]+/],[E,/^<!\w[^>]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa<ac.length;++aa){for(var Z=0,V=ac[aa].length;Z<V;++Z){T.push(ac[aa][Z])}}ac=null;var W=Date;if(!W.now){W={now:function(){return +(new Date)}}}var X=0;var S;var ab=/\blang(?:uage)?-([\w.]+)(?!\S)/;var ae=/\bprettyprint\b/;function U(){var ag=(window.PR_SHOULD_USE_CONTINUATION?W.now()+250:Infinity);for(;X<T.length&&W.now()<ag;X++){var aj=T[X];var ai=aj.className;if(ai.indexOf("prettyprint")>=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X<T.length){setTimeout(U,250)}else{if(ad){ad()}}}U()}window.prettyPrintOne=y;window.prettyPrint=b;window.PR={createSimpleLexer:g,registerLangHandler:c,sourceDecorator:i,PR_ATTRIB_NAME:P,PR_ATTRIB_VALUE:n,PR_COMMENT:j,PR_DECLARATION:E,PR_KEYWORD:z,PR_LITERAL:G,PR_NOCODE:N,PR_PLAIN:F,PR_PUNCTUATION:L,PR_SOURCE:J,PR_STRING:C,PR_TAG:m,PR_TYPE:O}})();PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_DECLARATION,/^<!\w[^>]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:<!--|-->)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]);
window.PR_SHOULD_USE_CONTINUATION = true;(function() {
var h = ['break,continue,do,else,for,if,return,while'];
var u = [h, 'auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile'];
var p = [u, 'catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof'];
var l = [p, 'alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where'];
var x = [p, 'abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient'];
var R = [x, 'as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var'];
var r = 'all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes';
var w = [p, 'debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN'];
var s = 'caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END';
var I = [h, 'and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None'];
var f = [h, 'alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END'];
var H = [h, 'case,done,elif,esac,eval,fi,function,in,local,set,then,until'];
var A = [l, R, w, s + I, f, H];
var e = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;
var C = 'str';
var z = 'kwd';
var j = 'com';
var O = 'typ';
var G = 'lit';
var L = 'pun';
var F = 'pln';
var m = 'tag';
var E = 'dec';
var J = 'src';
var P = 'atn';
var n = 'atv';
var N = 'nocode';
var M = '(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*';
function k(Z) {
var ad = 0;var S = false;var ac = false;
for (var V = 0, U = Z.length; V < U; ++V) {
var ae = Z[V];
if (ae.ignoreCase) {
ac = true;
} else {
if (/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
S = true;
ac = false;break;
}
}
}
var Y = {
b: 8,
t: 9,
n: 10,
v: 11,
f: 12,
r: 13
};
function ab(ah) {
var ag = ah.charCodeAt(0);
if (ag !== 92) {
return ag;
}
var af = ah.charAt(1);
ag = Y[af];
if (ag) {
return ag;
} else {
if ('0' <= af && af <= '7') {
return parseInt(ah.substring(1), 8);
} else {
if (af === 'u' || af === 'x') {
return parseInt(ah.substring(2), 16);
} else {
return ah.charCodeAt(1);
}
}
}
}
function T(af) {
if (af < 32) {
return (af < 16 ? '\\x0' : '\\x') + af.toString(16);
}
var ag = String.fromCharCode(af);
if (ag === '\\' || ag === '-' || ag === '[' || ag === ']') {
ag = '\\' + ag;
}
return ag;
}
function X(am) {
var aq = am.substring(1, am.length - 1).match(new RegExp('\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]', 'g'));var ak = [];var af = [];var ao = aq[0] === '^';
for (var ar = ao ? 1 : 0, aj = aq.length; ar < aj; ++ar) {
var ah = aq[ar];
if (/\\[bdsw]/i.test(ah)) {
ak.push(ah);
} else {
var ag = ab(ah);
var al;
if (ar + 2 < aj && '-' === aq[ar + 1]) {
al = ab(aq[ar + 2]);
ar += 2;
} else {
al = ag;
}
af.push([ag, al]);
if (!(al < 65 || ag > 122)) {
if (!(al < 65 || ag > 90)) {
af.push([Math.max(65, ag) | 32, Math.min(al, 90) | 32]);
}
if (!(al < 97 || ag > 122)) {
af.push([Math.max(97, ag) & ~32, Math.min(al, 122) & ~32]);
}
}
}
}
af.sort(function(av, au) {
return (av[0] - au[0]) || (au[1] - av[1]);
});var ai = [];var ap = [NaN, NaN];
for (var ar = 0; ar < af.length; ++ar) {
var at = af[ar];
if (at[0] <= ap[1] + 1) {
ap[1] = Math.max(ap[1], at[1]);
} else {
ai.push(ap = at);
}
}
var an = ['['];
if (ao) {
an.push('^');
}
an.push.apply(an, ak);
for (var ar = 0; ar < ai.length; ++ar) {
var at = ai[ar];an.push(T(at[0]));
if (at[1] > at[0]) {
if (at[1] + 1 > at[0]) {
an.push('-');
}
an.push(T(at[1]));
}
}
an.push(']');return an.join('');
}
function W(al) {
var aj = al.source.match(new RegExp('(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)', 'g'));var ah = aj.length;var an = [];
for (var ak = 0, am = 0; ak < ah; ++ak) {
var ag = aj[ak];
if (ag === '(') {
++am;
} else {
if ('\\' === ag.charAt(0)) {
var af = +ag.substring(1);
if (af && af <= am) {
an[af] = -1;
}
}
}
}
for (var ak = 1; ak < an.length; ++ak) {
if (-1 === an[ak]) {
an[ak] = ++ad;
}
}
for (var ak = 0, am = 0; ak < ah; ++ak) {
var ag = aj[ak];
if (ag === '(') {
++am;
if (an[am] === undefined) {
aj[ak] = '(?:';
}
} else {
if ('\\' === ag.charAt(0)) {
var af = +ag.substring(1);
if (af && af <= am) {
aj[ak] = '\\' + an[am];
}
}
}
}
for (var ak = 0, am = 0; ak < ah; ++ak) {
if ('^' === aj[ak] && '^' !== aj[ak + 1]) {
aj[ak] = '';
}
}
if (al.ignoreCase && S) {
for (var ak = 0; ak < ah; ++ak) {
var ag = aj[ak];var ai = ag.charAt(0);
if (ag.length >= 2 && ai === '[') {
aj[ak] = X(ag);
} else {
if (ai !== '\\') {
aj[ak] = ag.replace(/[a-zA-Z]/g, function(ao) {
var ap = ao.charCodeAt(0);
return '[' + String.fromCharCode(ap & ~32, ap | 32) + ']';
});
}
}
}
}
return aj.join('');
}
var aa = [];
for (var V = 0, U = Z.length; V < U; ++V) {
var ae = Z[V];
if (ae.global || ae.multiline) {
throw new Error('' + ae)
}
aa.push('(?:' + W(ae) + ')');
}
return new RegExp(aa.join('|'), ac ? 'gi' : 'g');
}
function a(V) {
var U = /(?:^|\s)nocode(?:\s|$)/;var X = [];var T = 0;var Z = [];var W = 0;var S;
if (V.currentStyle) {
S = V.currentStyle.whiteSpace;
} else {
if (window.getComputedStyle) {
S = document.defaultView.getComputedStyle(V, null).getPropertyValue('white-space');
}
}
var Y = S && 'pre' === S.substring(0, 3);
function aa(ab) {
switch (ab.nodeType) {
case 1:
if (U.test(ab.className)) {
return;
}
for (var ae = ab.firstChild; ae; ae = ae.nextSibling) {
aa(ae);
}
var ad = ab.nodeName;
if ('BR' === ad || 'LI' === ad) {
X[W] = '\n';
Z[W << 1] = T++;
Z[(W++ << 1) | 1] = ab;
}
break;case 3:case 4:var ac = ab.nodeValue;
if (ac.length) {
if (!Y) {
ac = ac.replace(/[ \t\r\n]+/g, ' ');
} else {
ac = ac.replace(/\r\n?/g, '\n');
}
X[W] = ac;
Z[W << 1] = T;
T += ac.length;
Z[(W++ << 1) | 1] = ab;
}
break;
}
}
aa(V);return {
sourceCode: X.join('').replace(/\n$/, ''),
spans: Z
};
}
function B(S, U, W, T) {
if (!U) {
return;
}
var V = {
sourceCode: U,
basePos: S
};W(V);T.push.apply(T, V.decorations);
}
var v = /\S/;
function o(S) {
var V = undefined;
for (var U = S.firstChild; U; U = U.nextSibling) {
var T = U.nodeType;
V = (T === 1) ? (V ? S : U) : (T === 3) ? (v.test(U.nodeValue) ? S : V) : V;
}
return V === S ? undefined : V;
}
function g(U, T) {
var S = {};var V;(function() {
var ad = U.concat(T);
var ah = [];
var ag = {};
for (var ab = 0, Z = ad.length; ab < Z; ++ab) {
var Y = ad[ab];var ac = Y[3];
if (ac) {
for (var ae = ac.length; --ae >= 0;) {
S[ac.charAt(ae)] = Y;
}
}
var af = Y[1];var aa = '' + af;
if (!ag.hasOwnProperty(aa)) {
ah.push(af);
ag[aa] = null;
}
}
ah.push(/[\0-\uffff]/);
V = k(ah);
})();var X = T.length;var W = function(ah) {
var Z = ah.sourceCode,
Y = ah.basePos;
var ad = [Y, F];
var af = 0;
var an = Z.match(V) || [];
var aj = {};
for (var ae = 0, aq = an.length; ae < aq; ++ae) {
var ag = an[ae];var ap = aj[ag];var ai = void 0;var am;
if (typeof ap === 'string') {
am = false;
} else {
var aa = S[ag.charAt(0)];
if (aa) {
ai = ag.match(aa[1]);
ap = aa[0];
} else {
for (var ao = 0; ao < X; ++ao) {
aa = T[ao];
ai = ag.match(aa[1]);
if (ai) {
ap = aa[0];break;
}
}
if (!ai) {
ap = F;
}
}
am = ap.length >= 5 && 'lang-' === ap.substring(0, 5);
if (am && !(ai && typeof ai[1] === 'string')) {
am = false;
ap = J;
}
if (!am) {
aj[ag] = ap;
}
}
var ab = af;
af += ag.length;
if (!am) {
ad.push(Y + ab, ap);
} else {
var al = ai[1];
var ak = ag.indexOf(al);
var ac = ak + al.length;
if (ai[2]) {
ac = ag.length - ai[2].length;
ak = ac - al.length;
}
var ar = ap.substring(5);
B(Y + ab, ag.substring(0, ak), W, ad);B(Y + ab + ak, al, q(ar, al), ad);B(Y + ab + ac, ag.substring(ac), W, ad);
}
}
ah.decorations = ad;
};return W;
}
function i(T) {
var W = [],
S = [];
if (T.tripleQuotedStrings) {
W.push([C, /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/, null, '\'"']);
} else {
if (T.multiLineStrings) {
W.push([C, /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/, null, '\'"`']);
} else {
W.push([C, /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/, null, '"\'']);
}
}
if (T.verbatimStrings) {
S.push([C, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
}
var Y = T.hashComments;
if (Y) {
if (T.cStyleComments) {
if (Y > 1) {
W.push([j, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, '#']);
} else {
W.push([j, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/, null, '#']);
}
S.push([C, /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/, null]);
} else {
W.push([j, /^#[^\r\n]*/, null, '#']);
}
}
if (T.cStyleComments) {
S.push([j, /^\/\/[^\r\n]*/, null]);S.push([j, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
}
if (T.regexLiterals) {
var X = ('/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/');
S.push(['lang-regex', new RegExp('^' + M + '(' + X + ')')]);
}
var V = T.types;
if (V) {
S.push([O, V]);
}
var U = ('' + T.keywords).replace(/^ | $/g, '');
if (U.length) {
S.push([z, new RegExp('^(?:' + U.replace(/[\s,]+/g, '|') + ')\\b'), null]);
}
W.push([F, /^\s+/, null, ' \r\n\t\xA0']);S.push([G, /^@[a-z_$][a-z_$@0-9]*/i, null], [O, /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null], [F, /^[a-z_$][a-z_$@0-9]*/i, null], [G, new RegExp('^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*', 'i'), null, '0123456789'], [F, /^\\[\s\S]?/, null], [L, /^.[^\s\w\.$@\'\"\`\/\#\\]*/, null]);return g(W, S);
}
var K = i({
keywords: A,
hashComments: true,
cStyleComments: true,
multiLineStrings: true,
regexLiterals: true
});
function Q(V, ag) {
var U = /(?:^|\s)nocode(?:\s|$)/;var ab = /\r\n?|\n/;var ac = V.ownerDocument;var S;
if (V.currentStyle) {
S = V.currentStyle.whiteSpace;
} else {
if (window.getComputedStyle) {
S = ac.defaultView.getComputedStyle(V, null).getPropertyValue('white-space');
}
}
var Z = S && 'pre' === S.substring(0, 3);var af = ac.createElement('LI');
while (V.firstChild) {
af.appendChild(V.firstChild);
}
var W = [af];
function ae(al) {
switch (al.nodeType) {
case 1:
if (U.test(al.className)) {
break;
}
if ('BR' === al.nodeName) {
ad(al);
if (al.parentNode) {
al.parentNode.removeChild(al);
}
} else {
for (var an = al.firstChild; an; an = an.nextSibling) {
ae(an);
}
}
break;case 3:case 4:
if (Z) {
var am = al.nodeValue;
var aj = am.match(ab);
if (aj) {
var ai = am.substring(0, aj.index);
al.nodeValue = ai;
var ah = am.substring(aj.index + aj[0].length);
if (ah) {
var ak = al.parentNode;
ak.insertBefore(ac.createTextNode(ah), al.nextSibling);
}
ad(al);
if (!ai) {
al.parentNode.removeChild(al);
}
}
}
break;
}
}
function ad(ak) {
while (!ak.nextSibling) {
ak = ak.parentNode;
if (!ak) {
return;
}
}
function ai(al, ar) {
var aq = ar ? al.cloneNode(false) : al;var ao = al.parentNode;
if (ao) {
var ap = ai(ao, 1);
var an = al.nextSibling;
ap.appendChild(aq);
for (var am = an; am; am = an) {
an = am.nextSibling;ap.appendChild(am);
}
}
return aq;
}
var ah = ai(ak.nextSibling, 0);
for (var aj; (aj = ah.parentNode) && aj.nodeType === 1;) {
ah = aj;
}
W.push(ah);
}
for (var Y = 0; Y < W.length; ++Y) {
ae(W[Y]);
}
if (ag === (ag | 0)) {
W[0].setAttribute('value', ag);
}
var aa = ac.createElement('OL');
aa.className = 'linenums';var X = Math.max(0, ((ag - 1)) | 0) || 0;
for (var Y = 0, T = W.length; Y < T; ++Y) {
af = W[Y];
af.className = 'L' + ((Y + X) % 10);
if (!af.firstChild) {
af.appendChild(ac.createTextNode('\xA0'));
}
aa.appendChild(af);
}
V.appendChild(aa);
}
function D(ac) {
var aj = /\bMSIE\b/.test(navigator.userAgent);var am = /\n/g;var al = ac.sourceCode;var an = al.length;var V = 0;var aa = ac.spans;var T = aa.length;var ah = 0;var X = ac.decorations;var Y = X.length;var Z = 0;
X[Y] = an;var ar, aq;
for (aq = ar = 0; aq < Y;) {
if (X[aq] !== X[aq + 2]) {
X[ar++] = X[aq++];
X[ar++] = X[aq++];
} else {
aq += 2;
}
}
Y = ar;
for (aq = ar = 0; aq < Y;) {
var at = X[aq];var ab = X[aq + 1];var W = aq + 2;
while (W + 2 <= Y && X[W + 1] === ab) {
W += 2;
}
X[ar++] = at;
X[ar++] = ab;
aq = W;
}
Y = X.length = ar;var ae = null;
while (ah < T) {
var af = aa[ah];var S = aa[ah + 2] || an;var ag = X[Z];var ap = X[Z + 2] || an;var W = Math.min(S, ap);var ak = aa[ah + 1];var U;
if (ak.nodeType !== 1 && (U = al.substring(V, W))) {
if (aj) {
U = U.replace(am, '\r');
}
ak.nodeValue = U;
var ai = ak.ownerDocument;
var ao = ai.createElement('SPAN');
ao.className = X[Z + 1];
var ad = ak.parentNode;
ad.replaceChild(ao, ak);ao.appendChild(ak);
if (V < S) {
aa[ah + 1] = ak = ai.createTextNode(al.substring(W, S));ad.insertBefore(ak, ao.nextSibling);
}
}
V = W;
if (V >= S) {
ah += 2;
}
if (V >= ap) {
Z += 2;
}
}
}
var t = {};
function c(U, V) {
for (var S = V.length; --S >= 0;) {
var T = V[S];
if (!t.hasOwnProperty(T)) {
t[T] = U;
} else {
if (window.console) {
console.warn('cannot override language handler %s', T);
}
}
}
}
function q(T, S) {
if (!(T && t.hasOwnProperty(T))) {
T = /^\s*</.test(S) ? 'default-markup' : 'default-code';
}
return t[T];
}
c(K, ['default-code']);c(g([], [[F, /^[^<?]+/], [E, /^<!\w[^>]*(?:>|$)/], [j, /^<\!--[\s\S]*?(?:-\->|$)/], ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/], ['lang-', /^<%([\s\S]+?)(?:%>|$)/], [L, /^(?:<[%?]|[%?]>)/], ['lang-', /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i], ['lang-js', /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i], ['lang-css', /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i], ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i]]), ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);c(g([[F, /^[\s]+/, null, ' \t\r\n'], [n, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '"\'']], [[m, /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i], [P, /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i], ['lang-uq.val', /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/], [L, /^[=<>\/]+/], ['lang-js', /^on\w+\s*=\s*\"([^\"]+)\"/i], ['lang-js', /^on\w+\s*=\s*\'([^\']+)\'/i], ['lang-js', /^on\w+\s*=\s*([^\"\'>\s]+)/i], ['lang-css', /^style\s*=\s*\"([^\"]+)\"/i], ['lang-css', /^style\s*=\s*\'([^\']+)\'/i], ['lang-css', /^style\s*=\s*([^\"\'>\s]+)/i]]), ['in.tag']);c(g([], [[n, /^[\s\S]+/]]), ['uq.val']);c(i({
keywords: l,
hashComments: true,
cStyleComments: true,
types: e
}), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);c(i({
keywords: 'null,true,false'
}), ['json']);c(i({
keywords: R,
hashComments: true,
cStyleComments: true,
verbatimStrings: true,
types: e
}), ['cs']);c(i({
keywords: x,
cStyleComments: true
}), ['java']);c(i({
keywords: H,
hashComments: true,
multiLineStrings: true
}), ['bsh', 'csh', 'sh']);c(i({
keywords: I,
hashComments: true,
multiLineStrings: true,
tripleQuotedStrings: true
}), ['cv', 'py']);c(i({
keywords: s,
hashComments: true,
multiLineStrings: true,
regexLiterals: true
}), ['perl', 'pl', 'pm']);c(i({
keywords: f,
hashComments: true,
multiLineStrings: true,
regexLiterals: true
}), ['rb']);c(i({
keywords: w,
cStyleComments: true,
regexLiterals: true
}), ['js']);c(i({
keywords: r,
hashComments: 3,
cStyleComments: true,
multilineStrings: true,
tripleQuotedStrings: true,
regexLiterals: true
}), ['coffee']);c(g([], [[C, /^[\s\S]+/]]), ['regex']);
function d(V) {
var U = V.langExtension;try {
var S = a(V.sourceNode);var T = S.sourceCode;
V.sourceCode = T;
V.spans = S.spans;
V.basePos = 0;q(U, T)(V);D(V);
} catch (W) {
if ('console' in window) {
console.log(W && W.stack ? W.stack : W);
}
}
}
function y(W, V, U) {
var S = document.createElement('PRE');
S.innerHTML = W;
if (U) {
Q(S, U);
}
var T = {
langExtension: V,
numberLines: U,
sourceNode: S
};d(T);return S.innerHTML;
}
function b(ad) {
function Y(af) {
return document.getElementsByTagName(af);
}
var ac = [Y('pre'), Y('code'), Y('xmp')];var T = [];
for (var aa = 0; aa < ac.length; ++aa) {
for (var Z = 0, V = ac[aa].length; Z < V; ++Z) {
T.push(ac[aa][Z]);
}
}
ac = null;var W = Date;
if (!W.now) {
W = {
now: function() {
return +(newDate);
}
};
}
var X = 0;var S;var ab = /\blang(?:uage)?-([\w.]+)(?!\S)/;var ae = /\bprettyprint\b/;
function U() {
var ag = (window.PR_SHOULD_USE_CONTINUATION ? W.now() + 250 : Infinity);
for (; X < T.length && W.now() < ag; X++) {
var aj = T[X];var ai = aj.className;
if (ai.indexOf('prettyprint') >= 0) {
var ah = ai.match(ab);
var am;
if (!ah && (am = o(aj)) && 'CODE' === am.tagName) {
ah = am.className.match(ab);
}
if (ah) {
ah = ah[1];
}
var al = false;
for (var ak = aj.parentNode; ak; ak = ak.parentNode) {
if ((ak.tagName === 'pre' || ak.tagName === 'code' || ak.tagName === 'xmp') && ak.className && ak.className.indexOf('prettyprint') >= 0) {
al = true;break;
}
}
if (!al) {
var af = aj.className.match(/\blinenums\b(?::(\d+))?/);
af = af ? af[1] && af[1].length ? +af[1] : true : false;
if (af) {
Q(aj, af);
}
S = {
langExtension: ah,
sourceNode: aj,
numberLines: af
};d(S);
}
}
}
if (X < T.length) {
setTimeout(U, 250);
} else {
if (ad) {
ad();
}
}
}
U();
}
window.prettyPrintOne = y;
window.prettyPrint = b;
window.PR = {
createSimpleLexer: g,
registerLangHandler: c,
sourceDecorator: i,
PR_ATTRIB_NAME: P,
PR_ATTRIB_VALUE: n,
PR_COMMENT: j,
PR_DECLARATION: E,
PR_KEYWORD: z,
PR_LITERAL: G,
PR_NOCODE: N,
PR_PLAIN: F,
PR_PUNCTUATION: L,
PR_SOURCE: J,
PR_STRING: C,
PR_TAG: m,
PR_TYPE: O
};
})();PR.registerLangHandler(PR.createSimpleLexer([], [[PR.PR_DECLARATION, /^<!\w[^>]*(?:>|$)/], [PR.PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/], [PR.PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/], ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/], ['lang-', /^<%([\s\S]+?)(?:%>|$)/], ['lang-', /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i], ['lang-handlebars', /^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i], ['lang-js', /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i], ['lang-css', /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i], ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i], [PR.PR_DECLARATION, /^{{[#^>/]?\s*[\w.][^}]*}}/], [PR.PR_DECLARATION, /^{{&?\s*[\w.][^}]*}}/], [PR.PR_DECLARATION, /^{{{>?\s*[\w.][^}]*}}}/], [PR.PR_COMMENT, /^{{![^}]*}}/]]), ['handlebars', 'hbs']);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN, /^[ \t\r\n\f]+/, null, ' \t\r\n\f']], [[PR.PR_STRING, /^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/, null], [PR.PR_STRING, /^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/, null], ['lang-css-str', /^url\(([^\)\"\']*)\)/i], [PR.PR_KEYWORD, /^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i, null], ['lang-css-kw', /^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i], [PR.PR_COMMENT, /^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//], [PR.PR_COMMENT, /^(?:<!--|-->)/], [PR.PR_LITERAL, /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i], [PR.PR_LITERAL, /^#(?:[0-9a-f]{3}){1,2}/i], [PR.PR_PLAIN, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i], [PR.PR_PUNCTUATION, /^[^\s\w\'\"]+/]]), ['css']);PR.registerLangHandler(PR.createSimpleLexer([], [[PR.PR_KEYWORD, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]), ['css-kw']);PR.registerLangHandler(PR.createSimpleLexer([], [[PR.PR_STRING, /^[^\)\"\']+/]]), ['css-str']);

280

coverage/lcov-report/sorter.js

@@ -1,156 +0,164 @@

var addSorting = (function () {
"use strict";
var cols,
currentSort = {
index: 0,
desc: false
};
var addSorting = (function() {
'use strict';
var cols,
currentSort = {
index: 0,
desc: false
};
// returns the summary table element
function getTable() { return document.querySelector('.coverage-summary table'); }
// returns the thead element of the summary table
function getTableHeader() { return getTable().querySelector('thead tr'); }
// returns the tbody element of the summary table
function getTableBody() { return getTable().querySelector('tbody'); }
// returns the th element for nth column
function getNthColumn(n) { return getTableHeader().querySelectorAll('th')[n]; }
// returns the summary table element
function getTable() {
return document.querySelector('.coverage-summary table');
}
// returns the thead element of the summary table
function getTableHeader() {
return getTable().querySelector('thead tr');
}
// returns the tbody element of the summary table
function getTableBody() {
return getTable().querySelector('tbody');
}
// returns the th element for nth column
function getNthColumn(n) {
return getTableHeader().querySelectorAll('th')[n];
}
// loads all columns
function loadColumns() {
var colNodes = getTableHeader().querySelectorAll('th'),
colNode,
cols = [],
col,
i;
// loads all columns
function loadColumns() {
var colNodes = getTableHeader().querySelectorAll('th'),
colNode,
cols = [],
col,
i;
for (i = 0; i < colNodes.length; i += 1) {
colNode = colNodes[i];
col = {
key: colNode.getAttribute('data-col'),
sortable: !colNode.getAttribute('data-nosort'),
type: colNode.getAttribute('data-type') || 'string'
};
cols.push(col);
if (col.sortable) {
col.defaultDescSort = col.type === 'number';
colNode.innerHTML = colNode.innerHTML + '<span class="sorter"></span>';
}
}
return cols;
for (i = 0; i < colNodes.length; i += 1) {
colNode = colNodes[i];
col = {
key: colNode.getAttribute('data-col'),
sortable: !colNode.getAttribute('data-nosort'),
type: colNode.getAttribute('data-type') || 'string'
};
cols.push(col);
if (col.sortable) {
col.defaultDescSort = col.type === 'number';
colNode.innerHTML = colNode.innerHTML + '<span class="sorter"></span>';
}
}
// attaches a data attribute to every tr element with an object
// of data values keyed by column name
function loadRowData(tableRow) {
var tableCols = tableRow.querySelectorAll('td'),
colNode,
col,
data = {},
i,
val;
for (i = 0; i < tableCols.length; i += 1) {
colNode = tableCols[i];
col = cols[i];
val = colNode.getAttribute('data-value');
if (col.type === 'number') {
val = Number(val);
}
data[col.key] = val;
}
return data;
return cols;
}
// attaches a data attribute to every tr element with an object
// of data values keyed by column name
function loadRowData(tableRow) {
var tableCols = tableRow.querySelectorAll('td'),
colNode,
col,
data = {},
i,
val;
for (i = 0; i < tableCols.length; i += 1) {
colNode = tableCols[i];
col = cols[i];
val = colNode.getAttribute('data-value');
if (col.type === 'number') {
val = Number(val);
}
data[col.key] = val;
}
// loads all row data
function loadData() {
var rows = getTableBody().querySelectorAll('tr'),
i;
return data;
}
// loads all row data
function loadData() {
var rows = getTableBody().querySelectorAll('tr'),
i;
for (i = 0; i < rows.length; i += 1) {
rows[i].data = loadRowData(rows[i]);
}
for (i = 0; i < rows.length; i += 1) {
rows[i].data = loadRowData(rows[i]);
}
// sorts the table using the data for the ith column
function sortByIndex(index, desc) {
var key = cols[index].key,
sorter = function (a, b) {
a = a.data[key];
b = b.data[key];
return a < b ? -1 : a > b ? 1 : 0;
},
finalSorter = sorter,
tableBody = document.querySelector('.coverage-summary tbody'),
rowNodes = tableBody.querySelectorAll('tr'),
rows = [],
i;
}
// sorts the table using the data for the ith column
function sortByIndex(index, desc) {
var key = cols[index].key,
sorter = function(a, b) {
a = a.data[key];
b = b.data[key];
return a < b ? -1 : a > b ? 1 : 0;
},
finalSorter = sorter,
tableBody = document.querySelector('.coverage-summary tbody'),
rowNodes = tableBody.querySelectorAll('tr'),
rows = [],
i;
if (desc) {
finalSorter = function (a, b) {
return -1 * sorter(a, b);
};
}
if (desc) {
finalSorter = function(a, b) {
return -1 * sorter(a, b);
};
}
for (i = 0; i < rowNodes.length; i += 1) {
rows.push(rowNodes[i]);
tableBody.removeChild(rowNodes[i]);
}
for (i = 0; i < rowNodes.length; i += 1) {
rows.push(rowNodes[i]);
tableBody.removeChild(rowNodes[i]);
}
rows.sort(finalSorter);
rows.sort(finalSorter);
for (i = 0; i < rows.length; i += 1) {
tableBody.appendChild(rows[i]);
}
for (i = 0; i < rows.length; i += 1) {
tableBody.appendChild(rows[i]);
}
// removes sort indicators for current column being sorted
function removeSortIndicators() {
var col = getNthColumn(currentSort.index),
cls = col.className;
}
// removes sort indicators for current column being sorted
function removeSortIndicators() {
var col = getNthColumn(currentSort.index),
cls = col.className;
cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
col.className = cls;
}
// adds sort indicators for current column being sorted
function addSortIndicators() {
getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted';
}
// adds event listeners for all sorter widgets
function enableUI() {
var i,
el,
ithSorter = function ithSorter(i) {
var col = cols[i];
cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
col.className = cls;
}
// adds sort indicators for current column being sorted
function addSortIndicators() {
getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted';
}
// adds event listeners for all sorter widgets
function enableUI() {
var i,
el,
ithSorter = function ithSorter(i) {
var col = cols[i];
return function () {
var desc = col.defaultDescSort;
return function() {
var desc = col.defaultDescSort;
if (currentSort.index === i) {
desc = !currentSort.desc;
}
sortByIndex(i, desc);
removeSortIndicators();
currentSort.index = i;
currentSort.desc = desc;
addSortIndicators();
};
};
for (i =0 ; i < cols.length; i += 1) {
if (cols[i].sortable) {
el = getNthColumn(i).querySelector('.sorter');
if (el.addEventListener) {
el.addEventListener('click', ithSorter(i));
} else {
el.attachEvent('onclick', ithSorter(i));
}
}
if (currentSort.index === i) {
desc = !currentSort.desc;
}
sortByIndex(i, desc);
removeSortIndicators();
currentSort.index = i;
currentSort.desc = desc;
addSortIndicators();
};
};
for (i = 0; i < cols.length; i += 1) {
if (cols[i].sortable) {
el = getNthColumn(i).querySelector('.sorter');
if (el.addEventListener) {
el.addEventListener('click', ithSorter(i));
} else {
el.attachEvent('onclick', ithSorter(i));
}
}
}
// adds sorting functionality to the UI
return function () {
if (!getTable()) {
return;
}
cols = loadColumns();
loadData(cols);
addSortIndicators();
enableUI();
};
}
// adds sorting functionality to the UI
return function() {
if (!getTable()) {
return;
}
cols = loadColumns();
loadData(cols);
addSortIndicators();
enableUI();
};
})();
window.addEventListener('load', addSorting);
var parseSchema = require('../');
var connect = require('mongodb');
connect('mongodb://localhost:27017/test', function(err, db){
if(err) return console.error(err);
connect('mongodb://localhost:27017/test', function(err, db) {
if (err) return console.error(err);
parseSchema('test.test', db.collection('test').find(), function(err, schema){
if(err) return console.error(err);
parseSchema('test.test', db.collection('test').find(), function(err, schema) {
if (err) return console.error(err);

@@ -10,0 +10,0 @@ console.log(JSON.stringify(schema, null, 2));

@@ -8,3 +8,3 @@ var _ = require('lodash');

module.exports = {
set: function (models, options) {
set: function(models, options) {
options = _.defaults({

@@ -11,0 +11,0 @@ parent: this.parent

@@ -13,3 +13,3 @@ var Collection = require('ampersand-collection');

model: Field,
comparator: function (a, b) {
comparator: function(a, b) {
// make sure _id is always at top, even in presence of uppercase fields

@@ -21,3 +21,3 @@ var aId = a.getId();

// otherwise sort case-insensitively
return (aId.toLowerCase() < bId.toLowerCase()) ? -1 : 1;
return aId.toLowerCase() < bId.toLowerCase() ? -1 : 1;
},

@@ -29,6 +29,6 @@ /**

*
* @param {String} name name of the field
* @param {Any} value value to be added
* @param {String} name - Name of the field.
* @param {Any} value - Value to be added.
*/
addToField: function (name, value) {
addToField: function(name, value) {
// get or create field

@@ -41,11 +41,14 @@ var field = this.get(name);

});
if (this.parent) this.parent.trigger('change:fields.length');
if (this.parent) {
this.parent.trigger('change:fields.length');
}
/**
* first time we see this field. We need to compensate for
* the Undefined values we missed so far for this field,
* by setting the count to the parent count and adjusting
* total_count as well.
* The first time we see this field, we need to compensate for
* the `Undefined` values we missed so far by setting `count` relative
* to `parent.count and adjusting `total_count` as well.
*/
if (this.parent && this.parent.count > 0) {
var undef = field.types.add({name: 'Undefined'});
var undef = field.types.add({
name: 'Undefined'
});
undef.count += this.parent.count;

@@ -55,5 +58,7 @@ field.total_count += undef.count;

}
// undefined are not counted towards the field's count
if(value !== undefined) field.count += 1;
// but they are counted towards the field's total_count
// Undefined are not counted towards the field's `count`
if (value !== undefined) {
field.count += 1;
}
// But they are counted towards the field's `total_count`
field.total_count += 1;

@@ -60,0 +65,0 @@ field.types.addToType(value);

@@ -48,3 +48,3 @@ var State = require('ampersand-state');

*/
description: 'string',
description: 'string'
},

@@ -80,3 +80,3 @@ session: {

cache: false,
fn: function () {
fn: function() {
if (!this.parent) return null;

@@ -95,3 +95,3 @@ return this.count / this.parent.count;

cache: false,
fn: function () {
fn: function() {
return _.sum(this.types.pluck('unique'));

@@ -98,0 +98,0 @@ }

@@ -9,3 +9,3 @@ var Schema = require('./schema');

* @param {Function} fn Callback which will be passed `(err, schema)`
* @returns {Schema}
* @return {Schema}
*/

@@ -19,6 +19,6 @@ module.exports = function(ns, docs, fn) {

// MongoDB Cursors
if(docs.stream && (typeof docs.stream === 'function')) {
if (docs.stream && typeof docs.stream === 'function') {
src = docs.stream();
// Streams
} else if (docs.pipe && (typeof docs.pipe === 'function')) {
} else if (docs.pipe && typeof docs.pipe === 'function') {
src = docs;

@@ -30,5 +30,5 @@ // Arrays

src.pipe(schema.stream()).on('end', function(){
src.pipe(schema.stream()).pipe(es.wait(function() {
fn.call(null, null, schema);
});
}));
return schema;

@@ -35,0 +35,0 @@ };

@@ -20,11 +20,7 @@ var es = require('event-stream');

stream: function() {
var that = this;
var stream = es.map(function(doc, done) {
that.parse(doc);
that.trigger('data', doc, that);
var model = this;
return es.map(function(doc, done) {
model.parse(doc);
done(null, doc);
}).on('end', function () {
that.trigger('end', that);
});
return stream;
},

@@ -31,0 +27,0 @@ serialize: function() {

@@ -10,7 +10,15 @@ var Collection = require('ampersand-collection');

/**
* Helper function to get the type name given a value
* @param {Any} value value to get type for
* @return {String} type name, e.g. Boolean or ObjectID
* Helper function to get the type name given a value.
*
* @example
* getTypeName(false)
* // 'Boolean'
* getTypeName({})
* // 'Object'
* getTypeName(BSON.ObjectID())
* // 'ObjectID'
* @param {Any} value -Value to get type for
* @return {String}
*/
var getTypeName = function (value) {
var getTypeName = function(value) {
var T;

@@ -23,3 +31,5 @@ if (_.has(value, '_bsontype')) {

// don't want to create naming conflict with javascript Object
if (T === 'Object') T = 'Document';
if (T === 'Object') {
T = 'Document';
}
return T;

@@ -36,2 +46,4 @@ };

* it will not be sorted automatically for performance reasons.
* @param {ampersand.State} model - The model to get the sort value for.
* @return {Number}
*/

@@ -43,3 +55,2 @@ comparator: function(model) {

model: function(attrs, options) {
// require ./type at runtime to avoid circular imports, does this work with browserify??
var Klass = types[attrs.name];

@@ -50,4 +61,3 @@ assert(Klass, 'No value type for ' + attrs.name);

isModel: function(model) {
// require ./type at runtime to avoid circular imports, does this work with browserify??
return (model instanceof Type);
return model instanceof Type;
},

@@ -58,3 +68,3 @@ /**

*
* @param {Any} value value to be added
* @param {Any} value - value to be added
*/

@@ -74,6 +84,8 @@ addToType: function(value) {

type.parse(value);
if (newTypeAdded && this.parent) this.parent.trigger('change:types.length');
if (newTypeAdded && this.parent) {
this.parent.trigger('change:types.length');
}
// trigger probability change event in all direct type children
this.each(function (type) {
this.each(function(type) {
type.trigger('change:probability');

@@ -80,0 +92,0 @@ });

@@ -55,3 +55,3 @@ var Type = require('./type');

_.each(arr, function (val) {
_.each(arr, function(val) {
this.types.addToType(val);

@@ -58,0 +58,0 @@ }.bind(this));

@@ -10,3 +10,3 @@ var Type = require('./type');

deps: ['count'],
fn: function () {
fn: function() {
// more than 1 constant value means no longer unique

@@ -35,3 +35,3 @@ return Math.min(this.count, 1);

unique: {
fn: function () {
fn: function() {
// undefined does not count as a value

@@ -38,0 +38,0 @@ return 0;

@@ -17,3 +17,3 @@ var Type = require('./type');

cache: false,
fn: function () {
fn: function() {
return _.unique(this.values.pluck('value')).length;

@@ -30,4 +30,6 @@ }

*/
parse: function (value) {
this.values.add({value: value});
parse: function(value) {
this.values.add({
value: value
});
this.count += 1;

@@ -34,0 +36,0 @@ }

@@ -19,3 +19,3 @@ var _ = require('lodash');

modelType: {
fn: function () {
fn: function() {
return this.name;

@@ -26,7 +26,7 @@ }

cache: false,
fn: function () {
fn: function() {
if (!this.parent) return undefined;
return this.count / (this.parent.total_count || this.parent.count);
}
},
}
},

@@ -33,0 +33,0 @@ parse: function() {

{
"name": "mongodb-schema",
"description": "Infer the probabilistic schema for a MongoDB collection.",
"version": "3.0.0",
"version": "3.0.1",
"author": "Thomas Rueckstiess <thomas@rueckstiess.net>",

@@ -18,4 +18,13 @@ "license": "Apache-2.0",

"test": "mocha",
"ci": "./node_modules/istanbul/lib/cli.js cover _mocha -- -R spec ./test/*.test.js"
"ci": "./node_modules/istanbul/lib/cli.js cover _mocha -- -R spec ./test/*.test.js",
"check": "mongodb-js-precommit"
},
"precommit": [
"check"
],
"check": {
"ignore": [
"coverage/**/*"
]
},
"keywords": [

@@ -29,4 +38,2 @@ "mongodb",

"ampersand-state": "^4.5.4",
"bson": "^0.4.0",
"debug": "^2.1.3",
"event-stream": "^3.3.0",

@@ -36,8 +43,12 @@ "lodash": "^3.8.0"

"devDependencies": {
"bson": "^0.4.0",
"coveralls": "^2.11.2",
"eslint-config-mongodb-js": "^0.1.4",
"istanbul": "^0.3.15",
"mocha": "^2.0.1",
"mongodb-extended-json": "^1.3.0",
"mongodb-js-precommit": "^0.1.2",
"pre-commit": "^1.0.10",
"zuul": "^3.0.0"
}
}