@magicpixel/rn-mp-client-sdk 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +29 -0
  3. package/lib/commonjs/common/app-types.js +6 -0
  4. package/lib/commonjs/common/app-types.js.map +1 -0
  5. package/lib/commonjs/common/constants.js +51 -0
  6. package/lib/commonjs/common/constants.js.map +1 -0
  7. package/lib/commonjs/common/data-store.js +361 -0
  8. package/lib/commonjs/common/data-store.js.map +1 -0
  9. package/lib/commonjs/common/event-bus.js +42 -0
  10. package/lib/commonjs/common/event-bus.js.map +1 -0
  11. package/lib/commonjs/common/logger.js +30 -0
  12. package/lib/commonjs/common/logger.js.map +1 -0
  13. package/lib/commonjs/common/network-service.js +90 -0
  14. package/lib/commonjs/common/network-service.js.map +1 -0
  15. package/lib/commonjs/common/reporter.js +107 -0
  16. package/lib/commonjs/common/reporter.js.map +1 -0
  17. package/lib/commonjs/common/utils.js +276 -0
  18. package/lib/commonjs/common/utils.js.map +1 -0
  19. package/lib/commonjs/coverage/clover.xml +6 -0
  20. package/lib/commonjs/coverage/coverage-final.json +1 -0
  21. package/lib/commonjs/coverage/lcov-report/base.css +224 -0
  22. package/lib/commonjs/coverage/lcov-report/block-navigation.js +83 -0
  23. package/lib/commonjs/coverage/lcov-report/block-navigation.js.map +1 -0
  24. package/lib/commonjs/coverage/lcov-report/favicon.png +0 -0
  25. package/lib/commonjs/coverage/lcov-report/index.html +101 -0
  26. package/lib/commonjs/coverage/lcov-report/prettify.css +1 -0
  27. package/lib/commonjs/coverage/lcov-report/prettify.js +995 -0
  28. package/lib/commonjs/coverage/lcov-report/prettify.js.map +1 -0
  29. package/lib/commonjs/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  30. package/lib/commonjs/coverage/lcov-report/sorter.js +212 -0
  31. package/lib/commonjs/coverage/lcov-report/sorter.js.map +1 -0
  32. package/lib/commonjs/coverage/lcov.info +0 -0
  33. package/lib/commonjs/eedl/eedl.js +262 -0
  34. package/lib/commonjs/eedl/eedl.js.map +1 -0
  35. package/lib/commonjs/index.js +214 -0
  36. package/lib/commonjs/index.js.map +1 -0
  37. package/lib/commonjs/models/mp-client-sdk.js +33 -0
  38. package/lib/commonjs/models/mp-client-sdk.js.map +1 -0
  39. package/lib/commonjs/processors/data-element.processor.js +191 -0
  40. package/lib/commonjs/processors/data-element.processor.js.map +1 -0
  41. package/lib/commonjs/processors/qc.processor.js +111 -0
  42. package/lib/commonjs/processors/qc.processor.js.map +1 -0
  43. package/lib/commonjs/processors/tag.processor.js +432 -0
  44. package/lib/commonjs/processors/tag.processor.js.map +1 -0
  45. package/lib/commonjs/processors/trans-function.processor.js +91 -0
  46. package/lib/commonjs/processors/trans-function.processor.js.map +1 -0
  47. package/lib/commonjs/processors/visit-id.processor.js +172 -0
  48. package/lib/commonjs/processors/visit-id.processor.js.map +1 -0
  49. package/lib/module/common/app-types.js +2 -0
  50. package/lib/module/common/app-types.js.map +1 -0
  51. package/lib/module/common/constants.js +41 -0
  52. package/lib/module/common/constants.js.map +1 -0
  53. package/lib/module/common/data-store.js +346 -0
  54. package/lib/module/common/data-store.js.map +1 -0
  55. package/lib/module/common/event-bus.js +31 -0
  56. package/lib/module/common/event-bus.js.map +1 -0
  57. package/lib/module/common/logger.js +21 -0
  58. package/lib/module/common/logger.js.map +1 -0
  59. package/lib/module/common/network-service.js +73 -0
  60. package/lib/module/common/network-service.js.map +1 -0
  61. package/lib/module/common/reporter.js +88 -0
  62. package/lib/module/common/reporter.js.map +1 -0
  63. package/lib/module/common/utils.js +263 -0
  64. package/lib/module/common/utils.js.map +1 -0
  65. package/lib/module/coverage/clover.xml +6 -0
  66. package/lib/module/coverage/coverage-final.json +1 -0
  67. package/lib/module/coverage/lcov-report/base.css +224 -0
  68. package/lib/module/coverage/lcov-report/block-navigation.js +81 -0
  69. package/lib/module/coverage/lcov-report/block-navigation.js.map +1 -0
  70. package/lib/module/coverage/lcov-report/favicon.png +0 -0
  71. package/lib/module/coverage/lcov-report/index.html +101 -0
  72. package/lib/module/coverage/lcov-report/prettify.css +1 -0
  73. package/lib/module/coverage/lcov-report/prettify.js +993 -0
  74. package/lib/module/coverage/lcov-report/prettify.js.map +1 -0
  75. package/lib/module/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  76. package/lib/module/coverage/lcov-report/sorter.js +210 -0
  77. package/lib/module/coverage/lcov-report/sorter.js.map +1 -0
  78. package/lib/module/coverage/lcov.info +0 -0
  79. package/lib/module/eedl/eedl.js +246 -0
  80. package/lib/module/eedl/eedl.js.map +1 -0
  81. package/lib/module/index.js +176 -0
  82. package/lib/module/index.js.map +1 -0
  83. package/lib/module/models/mp-client-sdk.js +24 -0
  84. package/lib/module/models/mp-client-sdk.js.map +1 -0
  85. package/lib/module/processors/data-element.processor.js +176 -0
  86. package/lib/module/processors/data-element.processor.js.map +1 -0
  87. package/lib/module/processors/qc.processor.js +90 -0
  88. package/lib/module/processors/qc.processor.js.map +1 -0
  89. package/lib/module/processors/tag.processor.js +396 -0
  90. package/lib/module/processors/tag.processor.js.map +1 -0
  91. package/lib/module/processors/trans-function.processor.js +73 -0
  92. package/lib/module/processors/trans-function.processor.js.map +1 -0
  93. package/lib/module/processors/visit-id.processor.js +144 -0
  94. package/lib/module/processors/visit-id.processor.js.map +1 -0
  95. package/lib/typescript/common/app-types.d.ts +101 -0
  96. package/lib/typescript/common/constants.d.ts +21 -0
  97. package/lib/typescript/common/data-store.d.ts +81 -0
  98. package/lib/typescript/common/event-bus.d.ts +6 -0
  99. package/lib/typescript/common/logger.d.ts +5 -0
  100. package/lib/typescript/common/network-service.d.ts +8 -0
  101. package/lib/typescript/common/reporter.d.ts +12 -0
  102. package/lib/typescript/common/utils.d.ts +38 -0
  103. package/lib/typescript/eedl/eedl.d.ts +46 -0
  104. package/lib/typescript/index.d.ts +18 -0
  105. package/lib/typescript/models/mp-client-sdk.d.ts +157 -0
  106. package/lib/typescript/processors/data-element.processor.d.ts +12 -0
  107. package/lib/typescript/processors/qc.processor.d.ts +4 -0
  108. package/lib/typescript/processors/tag.processor.d.ts +27 -0
  109. package/lib/typescript/processors/trans-function.processor.d.ts +12 -0
  110. package/lib/typescript/processors/visit-id.processor.d.ts +7 -0
  111. package/package.json +170 -0
  112. package/src/common/app-types.ts +128 -0
  113. package/src/common/constants.ts +43 -0
  114. package/src/common/data-store.ts +333 -0
  115. package/src/common/event-bus.ts +35 -0
  116. package/src/common/logger.ts +19 -0
  117. package/src/common/network-service.ts +85 -0
  118. package/src/common/reporter.ts +110 -0
  119. package/src/common/utils.ts +281 -0
  120. package/src/coverage/clover.xml +6 -0
  121. package/src/coverage/coverage-final.json +1 -0
  122. package/src/coverage/lcov-report/base.css +224 -0
  123. package/src/coverage/lcov-report/block-navigation.js +87 -0
  124. package/src/coverage/lcov-report/favicon.png +0 -0
  125. package/src/coverage/lcov-report/index.html +101 -0
  126. package/src/coverage/lcov-report/prettify.css +1 -0
  127. package/src/coverage/lcov-report/prettify.js +2 -0
  128. package/src/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  129. package/src/coverage/lcov-report/sorter.js +196 -0
  130. package/src/coverage/lcov.info +0 -0
  131. package/src/eedl/eedl.ts +233 -0
  132. package/src/index.tsx +258 -0
  133. package/src/models/mp-client-sdk.ts +174 -0
  134. package/src/processors/data-element.processor.ts +249 -0
  135. package/src/processors/qc.processor.ts +115 -0
  136. package/src/processors/tag.processor.ts +527 -0
  137. package/src/processors/trans-function.processor.ts +85 -0
  138. package/src/processors/visit-id.processor.ts +164 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["window","PR_SHOULD_USE_CONTINUATION","h","u","p","l","x","R","r","w","s","I","f","H","A","e","C","z","j","O","G","L","F","m","E","J","P","n","N","M","k","Z","ad","S","ac","V","U","length","ae","ignoreCase","test","source","replace","Y","b","t","v","ab","ah","ag","charCodeAt","af","charAt","parseInt","substring","T","toString","String","fromCharCode","X","am","aq","match","RegExp","ak","ao","ar","aj","push","al","Math","max","min","sort","av","au","ai","ap","NaN","at","an","apply","join","W","undefined","aa","global","multiline","Error","a","currentStyle","whiteSpace","getComputedStyle","document","defaultView","getPropertyValue","nodeType","className","firstChild","nextSibling","nodeName","nodeValue","sourceCode","spans","B","basePos","decorations","o","g","concat","hasOwnProperty","indexOf","q","i","tripleQuotedStrings","multiLineStrings","verbatimStrings","hashComments","cStyleComments","regexLiterals","types","keywords","K","Q","ownerDocument","createElement","appendChild","parentNode","removeChild","index","insertBefore","createTextNode","cloneNode","setAttribute","D","navigator","userAgent","replaceChild","c","console","warn","multilineStrings","d","langExtension","sourceNode","log","stack","y","innerHTML","numberLines","getElementsByTagName","Date","now","Infinity","tagName","setTimeout","prettyPrintOne","prettyPrint","PR","createSimpleLexer","registerLangHandler","sourceDecorator","PR_ATTRIB_NAME","PR_ATTRIB_VALUE","PR_COMMENT","PR_DECLARATION","PR_KEYWORD","PR_LITERAL","PR_NOCODE","PR_PLAIN","PR_PUNCTUATION","PR_SOURCE","PR_STRING","PR_TAG","PR_TYPE"],"sources":["prettify.js"],"sourcesContent":["/* eslint-disable */\nwindow.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\"]);\n"],"mappings":"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"}
@@ -0,0 +1,210 @@
1
+ /* eslint-disable */
2
+ var addSorting = function () {
3
+ 'use strict';
4
+
5
+ var cols,
6
+ currentSort = {
7
+ index: 0,
8
+ desc: false
9
+ }; // returns the summary table element
10
+
11
+ function getTable() {
12
+ return document.querySelector('.coverage-summary');
13
+ } // returns the thead element of the summary table
14
+
15
+
16
+ function getTableHeader() {
17
+ return getTable().querySelector('thead tr');
18
+ } // returns the tbody element of the summary table
19
+
20
+
21
+ function getTableBody() {
22
+ return getTable().querySelector('tbody');
23
+ } // returns the th element for nth column
24
+
25
+
26
+ function getNthColumn(n) {
27
+ return getTableHeader().querySelectorAll('th')[n];
28
+ }
29
+
30
+ function onFilterInput() {
31
+ const searchValue = document.getElementById('fileSearch').value;
32
+ const rows = document.getElementsByTagName('tbody')[0].children;
33
+
34
+ for (let i = 0; i < rows.length; i++) {
35
+ const row = rows[i];
36
+
37
+ if (row.textContent.toLowerCase().includes(searchValue.toLowerCase())) {
38
+ row.style.display = '';
39
+ } else {
40
+ row.style.display = 'none';
41
+ }
42
+ }
43
+ } // loads the search box
44
+
45
+
46
+ function addSearchBox() {
47
+ var template = document.getElementById('filterTemplate');
48
+ var templateClone = template.content.cloneNode(true);
49
+ templateClone.getElementById('fileSearch').oninput = onFilterInput;
50
+ template.parentElement.appendChild(templateClone);
51
+ } // loads all columns
52
+
53
+
54
+ function loadColumns() {
55
+ var colNodes = getTableHeader().querySelectorAll('th'),
56
+ colNode,
57
+ cols = [],
58
+ col,
59
+ i;
60
+
61
+ for (i = 0; i < colNodes.length; i += 1) {
62
+ colNode = colNodes[i];
63
+ col = {
64
+ key: colNode.getAttribute('data-col'),
65
+ sortable: !colNode.getAttribute('data-nosort'),
66
+ type: colNode.getAttribute('data-type') || 'string'
67
+ };
68
+ cols.push(col);
69
+
70
+ if (col.sortable) {
71
+ col.defaultDescSort = col.type === 'number';
72
+ colNode.innerHTML = colNode.innerHTML + '<span class="sorter"></span>';
73
+ }
74
+ }
75
+
76
+ return cols;
77
+ } // attaches a data attribute to every tr element with an object
78
+ // of data values keyed by column name
79
+
80
+
81
+ function loadRowData(tableRow) {
82
+ var tableCols = tableRow.querySelectorAll('td'),
83
+ colNode,
84
+ col,
85
+ data = {},
86
+ i,
87
+ val;
88
+
89
+ for (i = 0; i < tableCols.length; i += 1) {
90
+ colNode = tableCols[i];
91
+ col = cols[i];
92
+ val = colNode.getAttribute('data-value');
93
+
94
+ if (col.type === 'number') {
95
+ val = Number(val);
96
+ }
97
+
98
+ data[col.key] = val;
99
+ }
100
+
101
+ return data;
102
+ } // loads all row data
103
+
104
+
105
+ function loadData() {
106
+ var rows = getTableBody().querySelectorAll('tr'),
107
+ i;
108
+
109
+ for (i = 0; i < rows.length; i += 1) {
110
+ rows[i].data = loadRowData(rows[i]);
111
+ }
112
+ } // sorts the table using the data for the ith column
113
+
114
+
115
+ function sortByIndex(index, desc) {
116
+ var key = cols[index].key,
117
+ sorter = function (a, b) {
118
+ a = a.data[key];
119
+ b = b.data[key];
120
+ return a < b ? -1 : a > b ? 1 : 0;
121
+ },
122
+ finalSorter = sorter,
123
+ tableBody = document.querySelector('.coverage-summary tbody'),
124
+ rowNodes = tableBody.querySelectorAll('tr'),
125
+ rows = [],
126
+ i;
127
+
128
+ if (desc) {
129
+ finalSorter = function (a, b) {
130
+ return -1 * sorter(a, b);
131
+ };
132
+ }
133
+
134
+ for (i = 0; i < rowNodes.length; i += 1) {
135
+ rows.push(rowNodes[i]);
136
+ tableBody.removeChild(rowNodes[i]);
137
+ }
138
+
139
+ rows.sort(finalSorter);
140
+
141
+ for (i = 0; i < rows.length; i += 1) {
142
+ tableBody.appendChild(rows[i]);
143
+ }
144
+ } // removes sort indicators for current column being sorted
145
+
146
+
147
+ function removeSortIndicators() {
148
+ var col = getNthColumn(currentSort.index),
149
+ cls = col.className;
150
+ cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
151
+ col.className = cls;
152
+ } // adds sort indicators for current column being sorted
153
+
154
+
155
+ function addSortIndicators() {
156
+ getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted';
157
+ } // adds event listeners for all sorter widgets
158
+
159
+
160
+ function enableUI() {
161
+ var i,
162
+ el,
163
+ ithSorter = function ithSorter(i) {
164
+ var col = cols[i];
165
+ return function () {
166
+ var desc = col.defaultDescSort;
167
+
168
+ if (currentSort.index === i) {
169
+ desc = !currentSort.desc;
170
+ }
171
+
172
+ sortByIndex(i, desc);
173
+ removeSortIndicators();
174
+ currentSort.index = i;
175
+ currentSort.desc = desc;
176
+ addSortIndicators();
177
+ };
178
+ };
179
+
180
+ for (i = 0; i < cols.length; i += 1) {
181
+ if (cols[i].sortable) {
182
+ // add the click event handler on the th so users
183
+ // dont have to click on those tiny arrows
184
+ el = getNthColumn(i).querySelector('.sorter').parentElement;
185
+
186
+ if (el.addEventListener) {
187
+ el.addEventListener('click', ithSorter(i));
188
+ } else {
189
+ el.attachEvent('onclick', ithSorter(i));
190
+ }
191
+ }
192
+ }
193
+ } // adds sorting functionality to the UI
194
+
195
+
196
+ return function () {
197
+ if (!getTable()) {
198
+ return;
199
+ }
200
+
201
+ cols = loadColumns();
202
+ loadData();
203
+ addSearchBox();
204
+ addSortIndicators();
205
+ enableUI();
206
+ };
207
+ }();
208
+
209
+ window.addEventListener('load', addSorting);
210
+ //# sourceMappingURL=sorter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["addSorting","cols","currentSort","index","desc","getTable","document","querySelector","getTableHeader","getTableBody","getNthColumn","n","querySelectorAll","onFilterInput","searchValue","getElementById","value","rows","getElementsByTagName","children","i","length","row","textContent","toLowerCase","includes","style","display","addSearchBox","template","templateClone","content","cloneNode","oninput","parentElement","appendChild","loadColumns","colNodes","colNode","col","key","getAttribute","sortable","type","push","defaultDescSort","innerHTML","loadRowData","tableRow","tableCols","data","val","Number","loadData","sortByIndex","sorter","a","b","finalSorter","tableBody","rowNodes","removeChild","sort","removeSortIndicators","cls","className","replace","addSortIndicators","enableUI","el","ithSorter","addEventListener","attachEvent","window"],"sources":["sorter.js"],"sourcesContent":["/* eslint-disable */\nvar addSorting = (function() {\n 'use strict';\n var cols,\n currentSort = {\n index: 0,\n desc: false\n };\n\n // returns the summary table element\n function getTable() {\n return document.querySelector('.coverage-summary');\n }\n // returns the thead element of the summary table\n function getTableHeader() {\n return getTable().querySelector('thead tr');\n }\n // returns the tbody element of the summary table\n function getTableBody() {\n return getTable().querySelector('tbody');\n }\n // returns the th element for nth column\n function getNthColumn(n) {\n return getTableHeader().querySelectorAll('th')[n];\n }\n\n function onFilterInput() {\n const searchValue = document.getElementById('fileSearch').value;\n const rows = document.getElementsByTagName('tbody')[0].children;\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n if (\n row.textContent\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n ) {\n row.style.display = '';\n } else {\n row.style.display = 'none';\n }\n }\n }\n\n // loads the search box\n function addSearchBox() {\n var template = document.getElementById('filterTemplate');\n var templateClone = template.content.cloneNode(true);\n templateClone.getElementById('fileSearch').oninput = onFilterInput;\n template.parentElement.appendChild(templateClone);\n }\n\n // loads all columns\n function loadColumns() {\n var colNodes = getTableHeader().querySelectorAll('th'),\n colNode,\n cols = [],\n col,\n i;\n\n for (i = 0; i < colNodes.length; i += 1) {\n colNode = colNodes[i];\n col = {\n key: colNode.getAttribute('data-col'),\n sortable: !colNode.getAttribute('data-nosort'),\n type: colNode.getAttribute('data-type') || 'string'\n };\n cols.push(col);\n if (col.sortable) {\n col.defaultDescSort = col.type === 'number';\n colNode.innerHTML =\n colNode.innerHTML + '<span class=\"sorter\"></span>';\n }\n }\n return cols;\n }\n // attaches a data attribute to every tr element with an object\n // of data values keyed by column name\n function loadRowData(tableRow) {\n var tableCols = tableRow.querySelectorAll('td'),\n colNode,\n col,\n data = {},\n i,\n val;\n for (i = 0; i < tableCols.length; i += 1) {\n colNode = tableCols[i];\n col = cols[i];\n val = colNode.getAttribute('data-value');\n if (col.type === 'number') {\n val = Number(val);\n }\n data[col.key] = val;\n }\n return data;\n }\n // loads all row data\n function loadData() {\n var rows = getTableBody().querySelectorAll('tr'),\n i;\n\n for (i = 0; i < rows.length; i += 1) {\n rows[i].data = loadRowData(rows[i]);\n }\n }\n // sorts the table using the data for the ith column\n function sortByIndex(index, desc) {\n var key = cols[index].key,\n sorter = function(a, b) {\n a = a.data[key];\n b = b.data[key];\n return a < b ? -1 : a > b ? 1 : 0;\n },\n finalSorter = sorter,\n tableBody = document.querySelector('.coverage-summary tbody'),\n rowNodes = tableBody.querySelectorAll('tr'),\n rows = [],\n i;\n\n if (desc) {\n finalSorter = function(a, b) {\n return -1 * sorter(a, b);\n };\n }\n\n for (i = 0; i < rowNodes.length; i += 1) {\n rows.push(rowNodes[i]);\n tableBody.removeChild(rowNodes[i]);\n }\n\n rows.sort(finalSorter);\n\n for (i = 0; i < rows.length; i += 1) {\n tableBody.appendChild(rows[i]);\n }\n }\n // removes sort indicators for current column being sorted\n function removeSortIndicators() {\n var col = getNthColumn(currentSort.index),\n cls = col.className;\n\n cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');\n col.className = cls;\n }\n // adds sort indicators for current column being sorted\n function addSortIndicators() {\n getNthColumn(currentSort.index).className += currentSort.desc\n ? ' sorted-desc'\n : ' sorted';\n }\n // adds event listeners for all sorter widgets\n function enableUI() {\n var i,\n el,\n ithSorter = function ithSorter(i) {\n var col = cols[i];\n\n return function() {\n var desc = col.defaultDescSort;\n\n if (currentSort.index === i) {\n desc = !currentSort.desc;\n }\n sortByIndex(i, desc);\n removeSortIndicators();\n currentSort.index = i;\n currentSort.desc = desc;\n addSortIndicators();\n };\n };\n for (i = 0; i < cols.length; i += 1) {\n if (cols[i].sortable) {\n // add the click event handler on the th so users\n // dont have to click on those tiny arrows\n el = getNthColumn(i).querySelector('.sorter').parentElement;\n if (el.addEventListener) {\n el.addEventListener('click', ithSorter(i));\n } else {\n el.attachEvent('onclick', ithSorter(i));\n }\n }\n }\n }\n // adds sorting functionality to the UI\n return function() {\n if (!getTable()) {\n return;\n }\n cols = loadColumns();\n loadData();\n addSearchBox();\n addSortIndicators();\n enableUI();\n };\n})();\n\nwindow.addEventListener('load', addSorting);\n"],"mappings":"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"}
File without changes
@@ -0,0 +1,246 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
3
+ import { Utils } from '../common/utils';
4
+ import { Logger } from '../common/logger';
5
+ export class MpDataLayerHelper {
6
+ constructor(dlEventName, dlInitMode, dlInitEvent) {
7
+ this.dlEventName = dlEventName;
8
+ this.dlInitMode = dlInitMode;
9
+
10
+ _defineProperty(this, "isReady", false);
11
+
12
+ _defineProperty(this, "_masterDataLayer", {});
13
+
14
+ _defineProperty(this, "eventProcessors", {});
15
+
16
+ _defineProperty(this, "stateTracker", []);
17
+
18
+ _defineProperty(this, "dlInitEvent", void 0);
19
+
20
+ _defineProperty(this, "receivedInitialEvent", false);
21
+
22
+ _defineProperty(this, "eventQueue", []);
23
+
24
+ this.dlInitEvent = dlInitEvent;
25
+ }
26
+
27
+ init(globalEventListeners) {
28
+ if (this.dlInitMode !== 'manual') {
29
+ this.isReady = true;
30
+ } // register any global event listeners passed through to the init command
31
+
32
+
33
+ const globalEventListenerKeys = Object.keys(globalEventListeners || {});
34
+
35
+ if ((globalEventListenerKeys === null || globalEventListenerKeys === void 0 ? void 0 : globalEventListenerKeys.length) > 0) {
36
+ for (const key of globalEventListenerKeys) {
37
+ if (typeof globalEventListeners[key] !== 'undefined') {
38
+ this.registerProcessor(key, globalEventListeners[key]);
39
+ }
40
+ }
41
+ }
42
+ }
43
+
44
+ pushEvent(eventName, payload) {
45
+ console.log('EV Push Event:: ', JSON.stringify(payload));
46
+
47
+ if (eventName === 'set') {
48
+ // process regardless
49
+ this.processQItems(eventName, payload);
50
+ } else {
51
+ if (!this.receivedInitialEvent) {
52
+ // set only if this is not true already
53
+ this.receivedInitialEvent = eventName === this.dlInitEvent;
54
+ this.eventQueue.push([eventName, payload]);
55
+
56
+ if (this.isReady && this.receivedInitialEvent) {
57
+ this.ready();
58
+ }
59
+ } else if (!this.isReady) {
60
+ this.eventQueue.push([eventName, payload]);
61
+ } else {
62
+ this.processQItems(eventName, payload);
63
+ }
64
+ }
65
+ }
66
+
67
+ processQItems(eventName, payload) {
68
+ try {
69
+ if (eventName === 'set') {
70
+ this.setDl(payload);
71
+ } else {
72
+ this.eventProcessor(eventName, payload);
73
+ }
74
+ /* Make sure nothing is written below this line. If you do so, remember to return on error conditions above */
75
+
76
+ } catch (err) {
77
+ Logger.logError('Error performing init setup on dl', err);
78
+ }
79
+ }
80
+ /**
81
+ * Private Processor for 'set' command object
82
+ */
83
+
84
+
85
+ setDl(obj) {
86
+ if (!obj) {
87
+ return false;
88
+ }
89
+
90
+ const _tmp = Utils.flattenObject(obj);
91
+
92
+ this._masterDataLayer = Object.assign({}, this._masterDataLayer, _tmp);
93
+ return true;
94
+ }
95
+
96
+ getDl() {
97
+ return this._masterDataLayer;
98
+ }
99
+ /**
100
+ * Private event processor. Idea is that whenever an event is detected, we create a copy of the master data layer,
101
+ * add the event variables, and trigger the event requested when initializing the data layer helper
102
+ * @param eventName
103
+ * @param model
104
+ */
105
+
106
+
107
+ eventProcessor(eventName, model) {
108
+ /**
109
+ * The following If block clears the data layer when the initial event is received.
110
+ * This is done to prevent value carry overs from one page to another in single page apps
111
+ */
112
+ if (eventName === 'reset' || eventName === this.dlInitEvent) {
113
+ this.reset();
114
+ this.setDl(model);
115
+ model = undefined;
116
+ }
117
+
118
+ if (model) {
119
+ model = {
120
+ ev: model || {}
121
+ };
122
+ } else {
123
+ model = {};
124
+ } // generate a unique id for each event automatically
125
+
126
+
127
+ model['ev._id'] = Utils.getUniqueID(); // add the event ts also for every event
128
+
129
+ model['ev._tsMs'] = Date.now();
130
+ model['ev._eventName'] = eventName;
131
+ model = Utils.flattenObject(model); // create a clone of master data layer and merge event model to it
132
+
133
+ const _clone = Object.assign({}, this._masterDataLayer, model);
134
+
135
+ const eventTs = Date.now();
136
+ const eventPayload = {
137
+ eventName: eventName,
138
+ eventTs: eventTs,
139
+ model: _clone
140
+ }; // add to state tracker
141
+
142
+ this.stateTracker.push(eventPayload); // trigger an event that can be listened to by other listeners
143
+
144
+ Utils.triggerEvent(this.dlEventName, eventPayload); // see if there are any other registered processors and invoke them
145
+
146
+ if (this.eventProcessors[eventName]) {
147
+ for (const processor of this.eventProcessors[eventName]) {
148
+ Utils.safeExecute(processor, eventPayload);
149
+ }
150
+ }
151
+ }
152
+
153
+ overrideDlInitEvent(eventName) {
154
+ if (eventName && eventName.length > 0) {
155
+ this.dlInitEvent = eventName;
156
+ return 'Dl Init Event Override Successful';
157
+ }
158
+
159
+ return 'Dl Init Event Override Failed';
160
+ }
161
+ /**
162
+ * Exposed method for registering custom processors for events
163
+ * @param eventType
164
+ * @param fn
165
+ */
166
+
167
+
168
+ registerProcessor(eventType, fn) {
169
+ if (!eventType || !fn || typeof fn !== 'function') {
170
+ Logger.logError('EventType and Fn are mandatory');
171
+ return;
172
+ }
173
+
174
+ if (!this.eventProcessors[eventType]) {
175
+ this.eventProcessors[eventType] = [];
176
+ }
177
+
178
+ this.eventProcessors[eventType].push(fn);
179
+ }
180
+ /**
181
+ * Exposed getter for getting values from data layer
182
+ * @param key
183
+ * @returns {*|undefined}
184
+ */
185
+
186
+
187
+ get(key) {
188
+ return this._masterDataLayer[key] || undefined;
189
+ }
190
+
191
+ getState() {
192
+ return this.stateTracker;
193
+ }
194
+
195
+ hasEventHappened(key) {
196
+ return !!this.stateTracker.find(i => i.eventName === key);
197
+ }
198
+
199
+ reset() {
200
+ this._masterDataLayer = {};
201
+ return true;
202
+ }
203
+
204
+ ready() {
205
+ this.isReady = true;
206
+
207
+ if (this.receivedInitialEvent) {
208
+ Logger.logDbg('Initial event received: ', this.dlInitEvent); // drain queue only if the initial configured event has been received,
209
+ // otherwise mark isReady but dont drain the queue. queue will be drained first when the init
210
+ // event is received
211
+
212
+ this.drainQueue();
213
+ } else {
214
+ Logger.logDbg(`Initial event (${this.dlInitEvent}) NOT received. Events will be queued`);
215
+ }
216
+ }
217
+
218
+ drainQueue() {
219
+ Logger.logDbg('drainQueue...'); // create a copy of the array
220
+
221
+ const _temp = [...this.eventQueue]; // clean the array
222
+
223
+ this.eventQueue.splice(0, this.eventQueue.length); // find the event with dlInit event and execute it first, rest continues
224
+
225
+ const initialEventObjectIndex = _temp.findIndex(e => {
226
+ var _;
227
+
228
+ return ((_ = [e][0]) === null || _ === void 0 ? void 0 : _[0]) === this.dlInitEvent;
229
+ });
230
+
231
+ if (initialEventObjectIndex > -1) {
232
+ // splice and execute it
233
+ this.processQItems(_temp[initialEventObjectIndex][0], _temp[initialEventObjectIndex][1]);
234
+
235
+ _temp.splice(initialEventObjectIndex, 1);
236
+ } // continue with other items
237
+
238
+
239
+ for (const item of _temp) {
240
+ Logger.logDbg('drainQueue... for loop...');
241
+ this.processQItems(item[0], item[1]);
242
+ }
243
+ }
244
+
245
+ }
246
+ //# sourceMappingURL=eedl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Utils","Logger","MpDataLayerHelper","constructor","dlEventName","dlInitMode","dlInitEvent","init","globalEventListeners","isReady","globalEventListenerKeys","Object","keys","length","key","registerProcessor","pushEvent","eventName","payload","console","log","JSON","stringify","processQItems","receivedInitialEvent","eventQueue","push","ready","setDl","eventProcessor","err","logError","obj","_tmp","flattenObject","_masterDataLayer","assign","getDl","model","reset","undefined","ev","getUniqueID","Date","now","_clone","eventTs","eventPayload","stateTracker","triggerEvent","eventProcessors","processor","safeExecute","overrideDlInitEvent","eventType","fn","get","getState","hasEventHappened","find","i","logDbg","drainQueue","_temp","splice","initialEventObjectIndex","findIndex","e","item"],"sources":["eedl.ts"],"sourcesContent":["import { Utils } from '../common/utils';\nimport type { EventProcessorFn, MapLike, TypedAny } from '../common/app-types';\nimport { Logger } from '../common/logger';\n\nexport class MpDataLayerHelper {\n isReady = false;\n _masterDataLayer: MapLike = {};\n eventProcessors: Record<string, any> = {};\n stateTracker: Array<any> = [];\n dlInitEvent: string;\n receivedInitialEvent = false;\n eventQueue: Array<any> = [];\n\n constructor(\n private readonly dlEventName: string,\n private readonly dlInitMode: string,\n dlInitEvent: string\n ) {\n this.dlInitEvent = dlInitEvent;\n }\n\n init(globalEventListeners: Record<string, EventProcessorFn>): void {\n if (this.dlInitMode !== 'manual') {\n this.isReady = true;\n }\n\n // register any global event listeners passed through to the init command\n const globalEventListenerKeys = Object.keys(globalEventListeners || {});\n if (globalEventListenerKeys?.length > 0) {\n for (const key of globalEventListenerKeys) {\n if (typeof globalEventListeners[key] !== 'undefined') {\n this.registerProcessor(key, globalEventListeners[key] as any);\n }\n }\n }\n }\n\n pushEvent(eventName: string, payload: MapLike): void {\n console.log('EV Push Event:: ', JSON.stringify(payload));\n if (eventName === 'set') {\n // process regardless\n this.processQItems(eventName, payload);\n } else {\n if (!this.receivedInitialEvent) {\n // set only if this is not true already\n this.receivedInitialEvent = eventName === this.dlInitEvent;\n this.eventQueue.push([eventName, payload]);\n if (this.isReady && this.receivedInitialEvent) {\n this.ready();\n }\n } else if (!this.isReady) {\n this.eventQueue.push([eventName, payload]);\n } else {\n this.processQItems(eventName, payload);\n }\n }\n }\n\n processQItems(eventName: string, payload: MapLike): void {\n try {\n if (eventName === 'set') {\n this.setDl(payload);\n } else {\n this.eventProcessor(eventName, payload);\n }\n /* Make sure nothing is written below this line. If you do so, remember to return on error conditions above */\n } catch (err) {\n Logger.logError('Error performing init setup on dl', err);\n }\n }\n\n /**\n * Private Processor for 'set' command object\n */\n setDl(obj: TypedAny | undefined): boolean {\n if (!obj) {\n return false;\n }\n const _tmp = Utils.flattenObject(obj);\n this._masterDataLayer = Object.assign({}, this._masterDataLayer, _tmp);\n return true;\n }\n\n getDl(): TypedAny {\n return this._masterDataLayer;\n }\n\n /**\n * Private event processor. Idea is that whenever an event is detected, we create a copy of the master data layer,\n * add the event variables, and trigger the event requested when initializing the data layer helper\n * @param eventName\n * @param model\n */\n eventProcessor(eventName: string, model: TypedAny | undefined): void {\n /**\n * The following If block clears the data layer when the initial event is received.\n * This is done to prevent value carry overs from one page to another in single page apps\n */\n if (eventName === 'reset' || eventName === this.dlInitEvent) {\n this.reset();\n this.setDl(model);\n model = undefined;\n }\n\n if (model) {\n model = {\n ev: (model || {}) as any,\n };\n } else {\n model = {};\n }\n\n // generate a unique id for each event automatically\n model['ev._id'] = Utils.getUniqueID();\n\n // add the event ts also for every event\n model['ev._tsMs'] = Date.now();\n\n model['ev._eventName'] = eventName;\n\n model = Utils.flattenObject(model);\n\n // create a clone of master data layer and merge event model to it\n const _clone = Object.assign({}, this._masterDataLayer, model);\n const eventTs = Date.now();\n\n const eventPayload = {\n eventName: eventName,\n eventTs: eventTs,\n model: _clone,\n };\n\n // add to state tracker\n this.stateTracker.push(eventPayload);\n\n // trigger an event that can be listened to by other listeners\n Utils.triggerEvent(this.dlEventName, eventPayload);\n\n // see if there are any other registered processors and invoke them\n if (this.eventProcessors[eventName]) {\n for (const processor of this.eventProcessors[eventName]) {\n Utils.safeExecute(processor, eventPayload);\n }\n }\n }\n\n overrideDlInitEvent(eventName: string): string {\n if (eventName && eventName.length > 0) {\n this.dlInitEvent = eventName;\n return 'Dl Init Event Override Successful';\n }\n return 'Dl Init Event Override Failed';\n }\n\n /**\n * Exposed method for registering custom processors for events\n * @param eventType\n * @param fn\n */\n registerProcessor(eventType: string, fn: EventProcessorFn): void {\n if (!eventType || !fn || typeof fn !== 'function') {\n Logger.logError('EventType and Fn are mandatory');\n return;\n }\n if (!this.eventProcessors[eventType]) {\n this.eventProcessors[eventType] = [];\n }\n\n this.eventProcessors[eventType].push(fn);\n }\n\n /**\n * Exposed getter for getting values from data layer\n * @param key\n * @returns {*|undefined}\n */\n get(key: string): MapLike | undefined {\n return this._masterDataLayer[key] || undefined;\n }\n\n getState(): TypedAny[] {\n return this.stateTracker;\n }\n\n hasEventHappened(key: string): boolean {\n return !!this.stateTracker.find((i) => i.eventName === key);\n }\n\n reset(): boolean {\n this._masterDataLayer = {};\n return true;\n }\n\n ready(): void {\n this.isReady = true;\n if (this.receivedInitialEvent) {\n Logger.logDbg('Initial event received: ', this.dlInitEvent);\n // drain queue only if the initial configured event has been received,\n // otherwise mark isReady but dont drain the queue. queue will be drained first when the init\n // event is received\n this.drainQueue();\n } else {\n Logger.logDbg(\n `Initial event (${this.dlInitEvent}) NOT received. Events will be queued`\n );\n }\n }\n\n drainQueue(): void {\n Logger.logDbg('drainQueue...');\n // create a copy of the array\n const _temp = [...this.eventQueue];\n // clean the array\n this.eventQueue.splice(0, this.eventQueue.length);\n // find the event with dlInit event and execute it first, rest continues\n const initialEventObjectIndex = _temp.findIndex(\n (e) => [e][0]?.[0] === this.dlInitEvent\n );\n if (initialEventObjectIndex > -1) {\n // splice and execute it\n this.processQItems(\n _temp[initialEventObjectIndex][0],\n _temp[initialEventObjectIndex][1]\n );\n _temp.splice(initialEventObjectIndex, 1);\n }\n // continue with other items\n for (const item of _temp) {\n Logger.logDbg('drainQueue... for loop...');\n this.processQItems(item[0], item[1]);\n }\n }\n}\n"],"mappings":"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"}