New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@zcodeapp/di

Package Overview
Dependencies
Maintainers
2
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@zcodeapp/di - npm Package Compare versions

Comparing version
0.2.5
to
0.2.6
+224
coverage/base.css
body, html {
margin:0; padding: 0;
height: 100%;
}
body {
font-family: Helvetica Neue, Helvetica, Arial;
font-size: 14px;
color:#333;
}
.small { font-size: 12px; }
*, *:after, *:before {
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
}
h1 { font-size: 20px; margin: 0;}
h2 { font-size: 14px; }
pre {
font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
margin: 0;
padding: 0;
-moz-tab-size: 2;
-o-tab-size: 2;
tab-size: 2;
}
a { color:#0074D9; text-decoration:none; }
a:hover { text-decoration:underline; }
.strong { font-weight: bold; }
.space-top1 { padding: 10px 0 0 0; }
.pad2y { padding: 20px 0; }
.pad1y { padding: 10px 0; }
.pad2x { padding: 0 20px; }
.pad2 { padding: 20px; }
.pad1 { padding: 10px; }
.space-left2 { padding-left:55px; }
.space-right2 { padding-right:20px; }
.center { text-align:center; }
.clearfix { display:block; }
.clearfix:after {
content:'';
display:block;
height:0;
clear:both;
visibility:hidden;
}
.fl { float: left; }
@media only screen and (max-width:640px) {
.col3 { width:100%; max-width:100%; }
.hide-mobile { display:none!important; }
}
.quiet {
color: #7f7f7f;
color: rgba(0,0,0,0.5);
}
.quiet a { opacity: 0.7; }
.fraction {
font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
font-size: 10px;
color: #555;
background: #E8E8E8;
padding: 4px 5px;
border-radius: 3px;
vertical-align: middle;
}
div.path a:link, div.path a:visited { color: #333; }
table.coverage {
border-collapse: collapse;
margin: 10px 0 0 0;
padding: 0;
}
table.coverage td {
margin: 0;
padding: 0;
vertical-align: top;
}
table.coverage td.line-count {
text-align: right;
padding: 0 5px 0 20px;
}
table.coverage td.line-coverage {
text-align: right;
padding-right: 10px;
min-width:20px;
}
table.coverage td span.cline-any {
display: inline-block;
padding: 0 5px;
width: 100%;
}
.missing-if-branch {
display: inline-block;
margin-right: 5px;
border-radius: 3px;
position: relative;
padding: 0 4px;
background: #333;
color: yellow;
}
.skip-if-branch {
display: none;
margin-right: 10px;
position: relative;
padding: 0 4px;
background: #ccc;
color: white;
}
.missing-if-branch .typ, .skip-if-branch .typ {
color: inherit !important;
}
.coverage-summary {
border-collapse: collapse;
width: 100%;
}
.coverage-summary tr { border-bottom: 1px solid #bbb; }
.keyline-all { border: 1px solid #ddd; }
.coverage-summary td, .coverage-summary th { padding: 10px; }
.coverage-summary tbody { border: 1px solid #bbb; }
.coverage-summary td { border-right: 1px solid #bbb; }
.coverage-summary td:last-child { border-right: none; }
.coverage-summary th {
text-align: left;
font-weight: normal;
white-space: nowrap;
}
.coverage-summary th.file { border-right: none !important; }
.coverage-summary th.pct { }
.coverage-summary th.pic,
.coverage-summary th.abs,
.coverage-summary td.pct,
.coverage-summary td.abs { text-align: right; }
.coverage-summary td.file { white-space: nowrap; }
.coverage-summary td.pic { min-width: 120px !important; }
.coverage-summary tfoot td { }
.coverage-summary .sorter {
height: 10px;
width: 7px;
display: inline-block;
margin-left: 0.5em;
background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
}
.coverage-summary .sorted .sorter {
background-position: 0 -20px;
}
.coverage-summary .sorted-desc .sorter {
background-position: 0 -10px;
}
.status-line { height: 10px; }
/* yellow */
.cbranch-no { background: yellow !important; color: #111; }
/* dark red */
.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
.low .chart { border:1px solid #C21F39 }
.highlighted,
.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
background: #C21F39 !important;
}
/* medium red */
.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
/* light red */
.low, .cline-no { background:#FCE1E5 }
/* light green */
.high, .cline-yes { background:rgb(230,245,208) }
/* medium green */
.cstat-yes { background:rgb(161,215,106) }
/* dark green */
.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
.high .chart { border:1px solid rgb(77,146,33) }
/* dark yellow (gold) */
.status-line.medium, .medium .cover-fill { background: #f9cd0b; }
.medium .chart { border:1px solid #f9cd0b; }
/* light yellow */
.medium { background: #fff4c2; }
.cstat-skip { background: #ddd; color: #111; }
.fstat-skip { background: #ddd; color: #111 !important; }
.cbranch-skip { background: #ddd !important; color: #111; }
span.cline-neutral { background: #eaeaea; }
.coverage-summary td.empty {
opacity: .5;
padding-top: 4px;
padding-bottom: 4px;
line-height: 1;
color: #888;
}
.cover-fill, .cover-empty {
display:inline-block;
height: 12px;
}
.chart {
line-height: 0;
}
.cover-empty {
background: white;
}
.cover-full {
border-right: none !important;
}
pre.prettyprint {
border: none !important;
padding: 0 !important;
margin: 0 !important;
}
.com { color: #999 !important; }
.ignore-none { color: #999; font-weight: normal; }
.wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -48px;
}
.footer, .push {
height: 48px;
}
/* eslint-disable */
var jumpToCode = (function init() {
// Classes of code we would like to highlight in the file view
var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
// Elements to highlight in the file listing view
var fileListingElements = ['td.pct.low'];
// We don't want to select elements that are direct descendants of another match
var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
// Selecter that finds elements on the page to which we can jump
var selector =
fileListingElements.join(', ') +
', ' +
notSelector +
missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
// The NodeList of matching elements
var missingCoverageElements = document.querySelectorAll(selector);
var currentIndex;
function toggleClass(index) {
missingCoverageElements
.item(currentIndex)
.classList.remove('highlighted');
missingCoverageElements.item(index).classList.add('highlighted');
}
function makeCurrent(index) {
toggleClass(index);
currentIndex = index;
missingCoverageElements.item(index).scrollIntoView({
behavior: 'smooth',
block: 'center',
inline: 'center'
});
}
function goToPrevious() {
var nextIndex = 0;
if (typeof currentIndex !== 'number' || currentIndex === 0) {
nextIndex = missingCoverageElements.length - 1;
} else if (missingCoverageElements.length > 1) {
nextIndex = currentIndex - 1;
}
makeCurrent(nextIndex);
}
function goToNext() {
var nextIndex = 0;
if (
typeof currentIndex === 'number' &&
currentIndex < missingCoverageElements.length - 1
) {
nextIndex = currentIndex + 1;
}
makeCurrent(nextIndex);
}
return function jump(event) {
if (
document.getElementById('fileSearch') === document.activeElement &&
document.activeElement != null
) {
// if we're currently focused on the search input, we don't want to navigate
return;
}
switch (event.which) {
case 78: // n
case 74: // j
goToNext();
break;
case 66: // b
case 75: // k
case 80: // p
goToPrevious();
break;
}
};
})();
window.addEventListener('keydown', jumpToCode);
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for di.ts</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="prettify.css" />
<link rel="stylesheet" href="base.css" />
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1><a href="index.html">All files</a> di.ts</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">99.17% </span>
<span class="quiet">Statements</span>
<span class='fraction'>120/121</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Branches</span>
<span class='fraction'>98/98</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">95.45% </span>
<span class="quiet">Functions</span>
<span class='fraction'>21/22</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">99.13% </span>
<span class="quiet">Lines</span>
<span class='fraction'>114/115</span>
</div>
</div>
<p class="quiet">
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
</p>
<template id="filterTemplate">
<div class="quiet">
Filter:
<input oninput="onInput()" type="search" id="fileSearch">
</div>
</template>
</div>
<div class='status-line high'></div>
<pre><table class="coverage">
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
<a name='L2'></a><a href='#L2'>2</a>
<a name='L3'></a><a href='#L3'>3</a>
<a name='L4'></a><a href='#L4'>4</a>
<a name='L5'></a><a href='#L5'>5</a>
<a name='L6'></a><a href='#L6'>6</a>
<a name='L7'></a><a href='#L7'>7</a>
<a name='L8'></a><a href='#L8'>8</a>
<a name='L9'></a><a href='#L9'>9</a>
<a name='L10'></a><a href='#L10'>10</a>
<a name='L11'></a><a href='#L11'>11</a>
<a name='L12'></a><a href='#L12'>12</a>
<a name='L13'></a><a href='#L13'>13</a>
<a name='L14'></a><a href='#L14'>14</a>
<a name='L15'></a><a href='#L15'>15</a>
<a name='L16'></a><a href='#L16'>16</a>
<a name='L17'></a><a href='#L17'>17</a>
<a name='L18'></a><a href='#L18'>18</a>
<a name='L19'></a><a href='#L19'>19</a>
<a name='L20'></a><a href='#L20'>20</a>
<a name='L21'></a><a href='#L21'>21</a>
<a name='L22'></a><a href='#L22'>22</a>
<a name='L23'></a><a href='#L23'>23</a>
<a name='L24'></a><a href='#L24'>24</a>
<a name='L25'></a><a href='#L25'>25</a>
<a name='L26'></a><a href='#L26'>26</a>
<a name='L27'></a><a href='#L27'>27</a>
<a name='L28'></a><a href='#L28'>28</a>
<a name='L29'></a><a href='#L29'>29</a>
<a name='L30'></a><a href='#L30'>30</a>
<a name='L31'></a><a href='#L31'>31</a>
<a name='L32'></a><a href='#L32'>32</a>
<a name='L33'></a><a href='#L33'>33</a>
<a name='L34'></a><a href='#L34'>34</a>
<a name='L35'></a><a href='#L35'>35</a>
<a name='L36'></a><a href='#L36'>36</a>
<a name='L37'></a><a href='#L37'>37</a>
<a name='L38'></a><a href='#L38'>38</a>
<a name='L39'></a><a href='#L39'>39</a>
<a name='L40'></a><a href='#L40'>40</a>
<a name='L41'></a><a href='#L41'>41</a>
<a name='L42'></a><a href='#L42'>42</a>
<a name='L43'></a><a href='#L43'>43</a>
<a name='L44'></a><a href='#L44'>44</a>
<a name='L45'></a><a href='#L45'>45</a>
<a name='L46'></a><a href='#L46'>46</a>
<a name='L47'></a><a href='#L47'>47</a>
<a name='L48'></a><a href='#L48'>48</a>
<a name='L49'></a><a href='#L49'>49</a>
<a name='L50'></a><a href='#L50'>50</a>
<a name='L51'></a><a href='#L51'>51</a>
<a name='L52'></a><a href='#L52'>52</a>
<a name='L53'></a><a href='#L53'>53</a>
<a name='L54'></a><a href='#L54'>54</a>
<a name='L55'></a><a href='#L55'>55</a>
<a name='L56'></a><a href='#L56'>56</a>
<a name='L57'></a><a href='#L57'>57</a>
<a name='L58'></a><a href='#L58'>58</a>
<a name='L59'></a><a href='#L59'>59</a>
<a name='L60'></a><a href='#L60'>60</a>
<a name='L61'></a><a href='#L61'>61</a>
<a name='L62'></a><a href='#L62'>62</a>
<a name='L63'></a><a href='#L63'>63</a>
<a name='L64'></a><a href='#L64'>64</a>
<a name='L65'></a><a href='#L65'>65</a>
<a name='L66'></a><a href='#L66'>66</a>
<a name='L67'></a><a href='#L67'>67</a>
<a name='L68'></a><a href='#L68'>68</a>
<a name='L69'></a><a href='#L69'>69</a>
<a name='L70'></a><a href='#L70'>70</a>
<a name='L71'></a><a href='#L71'>71</a>
<a name='L72'></a><a href='#L72'>72</a>
<a name='L73'></a><a href='#L73'>73</a>
<a name='L74'></a><a href='#L74'>74</a>
<a name='L75'></a><a href='#L75'>75</a>
<a name='L76'></a><a href='#L76'>76</a>
<a name='L77'></a><a href='#L77'>77</a>
<a name='L78'></a><a href='#L78'>78</a>
<a name='L79'></a><a href='#L79'>79</a>
<a name='L80'></a><a href='#L80'>80</a>
<a name='L81'></a><a href='#L81'>81</a>
<a name='L82'></a><a href='#L82'>82</a>
<a name='L83'></a><a href='#L83'>83</a>
<a name='L84'></a><a href='#L84'>84</a>
<a name='L85'></a><a href='#L85'>85</a>
<a name='L86'></a><a href='#L86'>86</a>
<a name='L87'></a><a href='#L87'>87</a>
<a name='L88'></a><a href='#L88'>88</a>
<a name='L89'></a><a href='#L89'>89</a>
<a name='L90'></a><a href='#L90'>90</a>
<a name='L91'></a><a href='#L91'>91</a>
<a name='L92'></a><a href='#L92'>92</a>
<a name='L93'></a><a href='#L93'>93</a>
<a name='L94'></a><a href='#L94'>94</a>
<a name='L95'></a><a href='#L95'>95</a>
<a name='L96'></a><a href='#L96'>96</a>
<a name='L97'></a><a href='#L97'>97</a>
<a name='L98'></a><a href='#L98'>98</a>
<a name='L99'></a><a href='#L99'>99</a>
<a name='L100'></a><a href='#L100'>100</a>
<a name='L101'></a><a href='#L101'>101</a>
<a name='L102'></a><a href='#L102'>102</a>
<a name='L103'></a><a href='#L103'>103</a>
<a name='L104'></a><a href='#L104'>104</a>
<a name='L105'></a><a href='#L105'>105</a>
<a name='L106'></a><a href='#L106'>106</a>
<a name='L107'></a><a href='#L107'>107</a>
<a name='L108'></a><a href='#L108'>108</a>
<a name='L109'></a><a href='#L109'>109</a>
<a name='L110'></a><a href='#L110'>110</a>
<a name='L111'></a><a href='#L111'>111</a>
<a name='L112'></a><a href='#L112'>112</a>
<a name='L113'></a><a href='#L113'>113</a>
<a name='L114'></a><a href='#L114'>114</a>
<a name='L115'></a><a href='#L115'>115</a>
<a name='L116'></a><a href='#L116'>116</a>
<a name='L117'></a><a href='#L117'>117</a>
<a name='L118'></a><a href='#L118'>118</a>
<a name='L119'></a><a href='#L119'>119</a>
<a name='L120'></a><a href='#L120'>120</a>
<a name='L121'></a><a href='#L121'>121</a>
<a name='L122'></a><a href='#L122'>122</a>
<a name='L123'></a><a href='#L123'>123</a>
<a name='L124'></a><a href='#L124'>124</a>
<a name='L125'></a><a href='#L125'>125</a>
<a name='L126'></a><a href='#L126'>126</a>
<a name='L127'></a><a href='#L127'>127</a>
<a name='L128'></a><a href='#L128'>128</a>
<a name='L129'></a><a href='#L129'>129</a>
<a name='L130'></a><a href='#L130'>130</a>
<a name='L131'></a><a href='#L131'>131</a>
<a name='L132'></a><a href='#L132'>132</a>
<a name='L133'></a><a href='#L133'>133</a>
<a name='L134'></a><a href='#L134'>134</a>
<a name='L135'></a><a href='#L135'>135</a>
<a name='L136'></a><a href='#L136'>136</a>
<a name='L137'></a><a href='#L137'>137</a>
<a name='L138'></a><a href='#L138'>138</a>
<a name='L139'></a><a href='#L139'>139</a>
<a name='L140'></a><a href='#L140'>140</a>
<a name='L141'></a><a href='#L141'>141</a>
<a name='L142'></a><a href='#L142'>142</a>
<a name='L143'></a><a href='#L143'>143</a>
<a name='L144'></a><a href='#L144'>144</a>
<a name='L145'></a><a href='#L145'>145</a>
<a name='L146'></a><a href='#L146'>146</a>
<a name='L147'></a><a href='#L147'>147</a>
<a name='L148'></a><a href='#L148'>148</a>
<a name='L149'></a><a href='#L149'>149</a>
<a name='L150'></a><a href='#L150'>150</a>
<a name='L151'></a><a href='#L151'>151</a>
<a name='L152'></a><a href='#L152'>152</a>
<a name='L153'></a><a href='#L153'>153</a>
<a name='L154'></a><a href='#L154'>154</a>
<a name='L155'></a><a href='#L155'>155</a>
<a name='L156'></a><a href='#L156'>156</a>
<a name='L157'></a><a href='#L157'>157</a>
<a name='L158'></a><a href='#L158'>158</a>
<a name='L159'></a><a href='#L159'>159</a>
<a name='L160'></a><a href='#L160'>160</a>
<a name='L161'></a><a href='#L161'>161</a>
<a name='L162'></a><a href='#L162'>162</a>
<a name='L163'></a><a href='#L163'>163</a>
<a name='L164'></a><a href='#L164'>164</a>
<a name='L165'></a><a href='#L165'>165</a>
<a name='L166'></a><a href='#L166'>166</a>
<a name='L167'></a><a href='#L167'>167</a>
<a name='L168'></a><a href='#L168'>168</a>
<a name='L169'></a><a href='#L169'>169</a>
<a name='L170'></a><a href='#L170'>170</a>
<a name='L171'></a><a href='#L171'>171</a>
<a name='L172'></a><a href='#L172'>172</a>
<a name='L173'></a><a href='#L173'>173</a>
<a name='L174'></a><a href='#L174'>174</a>
<a name='L175'></a><a href='#L175'>175</a>
<a name='L176'></a><a href='#L176'>176</a>
<a name='L177'></a><a href='#L177'>177</a>
<a name='L178'></a><a href='#L178'>178</a>
<a name='L179'></a><a href='#L179'>179</a>
<a name='L180'></a><a href='#L180'>180</a>
<a name='L181'></a><a href='#L181'>181</a>
<a name='L182'></a><a href='#L182'>182</a>
<a name='L183'></a><a href='#L183'>183</a>
<a name='L184'></a><a href='#L184'>184</a>
<a name='L185'></a><a href='#L185'>185</a>
<a name='L186'></a><a href='#L186'>186</a>
<a name='L187'></a><a href='#L187'>187</a>
<a name='L188'></a><a href='#L188'>188</a>
<a name='L189'></a><a href='#L189'>189</a>
<a name='L190'></a><a href='#L190'>190</a>
<a name='L191'></a><a href='#L191'>191</a>
<a name='L192'></a><a href='#L192'>192</a>
<a name='L193'></a><a href='#L193'>193</a>
<a name='L194'></a><a href='#L194'>194</a>
<a name='L195'></a><a href='#L195'>195</a>
<a name='L196'></a><a href='#L196'>196</a>
<a name='L197'></a><a href='#L197'>197</a>
<a name='L198'></a><a href='#L198'>198</a>
<a name='L199'></a><a href='#L199'>199</a>
<a name='L200'></a><a href='#L200'>200</a>
<a name='L201'></a><a href='#L201'>201</a>
<a name='L202'></a><a href='#L202'>202</a>
<a name='L203'></a><a href='#L203'>203</a>
<a name='L204'></a><a href='#L204'>204</a>
<a name='L205'></a><a href='#L205'>205</a>
<a name='L206'></a><a href='#L206'>206</a>
<a name='L207'></a><a href='#L207'>207</a>
<a name='L208'></a><a href='#L208'>208</a>
<a name='L209'></a><a href='#L209'>209</a>
<a name='L210'></a><a href='#L210'>210</a>
<a name='L211'></a><a href='#L211'>211</a>
<a name='L212'></a><a href='#L212'>212</a>
<a name='L213'></a><a href='#L213'>213</a>
<a name='L214'></a><a href='#L214'>214</a>
<a name='L215'></a><a href='#L215'>215</a>
<a name='L216'></a><a href='#L216'>216</a>
<a name='L217'></a><a href='#L217'>217</a>
<a name='L218'></a><a href='#L218'>218</a>
<a name='L219'></a><a href='#L219'>219</a>
<a name='L220'></a><a href='#L220'>220</a>
<a name='L221'></a><a href='#L221'>221</a>
<a name='L222'></a><a href='#L222'>222</a>
<a name='L223'></a><a href='#L223'>223</a>
<a name='L224'></a><a href='#L224'>224</a>
<a name='L225'></a><a href='#L225'>225</a>
<a name='L226'></a><a href='#L226'>226</a>
<a name='L227'></a><a href='#L227'>227</a>
<a name='L228'></a><a href='#L228'>228</a>
<a name='L229'></a><a href='#L229'>229</a>
<a name='L230'></a><a href='#L230'>230</a>
<a name='L231'></a><a href='#L231'>231</a>
<a name='L232'></a><a href='#L232'>232</a>
<a name='L233'></a><a href='#L233'>233</a>
<a name='L234'></a><a href='#L234'>234</a>
<a name='L235'></a><a href='#L235'>235</a>
<a name='L236'></a><a href='#L236'>236</a>
<a name='L237'></a><a href='#L237'>237</a>
<a name='L238'></a><a href='#L238'>238</a>
<a name='L239'></a><a href='#L239'>239</a>
<a name='L240'></a><a href='#L240'>240</a>
<a name='L241'></a><a href='#L241'>241</a>
<a name='L242'></a><a href='#L242'>242</a>
<a name='L243'></a><a href='#L243'>243</a>
<a name='L244'></a><a href='#L244'>244</a>
<a name='L245'></a><a href='#L245'>245</a>
<a name='L246'></a><a href='#L246'>246</a>
<a name='L247'></a><a href='#L247'>247</a>
<a name='L248'></a><a href='#L248'>248</a>
<a name='L249'></a><a href='#L249'>249</a>
<a name='L250'></a><a href='#L250'>250</a>
<a name='L251'></a><a href='#L251'>251</a>
<a name='L252'></a><a href='#L252'>252</a>
<a name='L253'></a><a href='#L253'>253</a>
<a name='L254'></a><a href='#L254'>254</a>
<a name='L255'></a><a href='#L255'>255</a>
<a name='L256'></a><a href='#L256'>256</a>
<a name='L257'></a><a href='#L257'>257</a>
<a name='L258'></a><a href='#L258'>258</a>
<a name='L259'></a><a href='#L259'>259</a>
<a name='L260'></a><a href='#L260'>260</a>
<a name='L261'></a><a href='#L261'>261</a>
<a name='L262'></a><a href='#L262'>262</a>
<a name='L263'></a><a href='#L263'>263</a>
<a name='L264'></a><a href='#L264'>264</a>
<a name='L265'></a><a href='#L265'>265</a>
<a name='L266'></a><a href='#L266'>266</a>
<a name='L267'></a><a href='#L267'>267</a>
<a name='L268'></a><a href='#L268'>268</a>
<a name='L269'></a><a href='#L269'>269</a>
<a name='L270'></a><a href='#L270'>270</a>
<a name='L271'></a><a href='#L271'>271</a>
<a name='L272'></a><a href='#L272'>272</a>
<a name='L273'></a><a href='#L273'>273</a>
<a name='L274'></a><a href='#L274'>274</a>
<a name='L275'></a><a href='#L275'>275</a>
<a name='L276'></a><a href='#L276'>276</a>
<a name='L277'></a><a href='#L277'>277</a>
<a name='L278'></a><a href='#L278'>278</a>
<a name='L279'></a><a href='#L279'>279</a>
<a name='L280'></a><a href='#L280'>280</a>
<a name='L281'></a><a href='#L281'>281</a>
<a name='L282'></a><a href='#L282'>282</a>
<a name='L283'></a><a href='#L283'>283</a>
<a name='L284'></a><a href='#L284'>284</a>
<a name='L285'></a><a href='#L285'>285</a>
<a name='L286'></a><a href='#L286'>286</a>
<a name='L287'></a><a href='#L287'>287</a>
<a name='L288'></a><a href='#L288'>288</a>
<a name='L289'></a><a href='#L289'>289</a>
<a name='L290'></a><a href='#L290'>290</a>
<a name='L291'></a><a href='#L291'>291</a>
<a name='L292'></a><a href='#L292'>292</a>
<a name='L293'></a><a href='#L293'>293</a>
<a name='L294'></a><a href='#L294'>294</a>
<a name='L295'></a><a href='#L295'>295</a>
<a name='L296'></a><a href='#L296'>296</a>
<a name='L297'></a><a href='#L297'>297</a>
<a name='L298'></a><a href='#L298'>298</a>
<a name='L299'></a><a href='#L299'>299</a>
<a name='L300'></a><a href='#L300'>300</a>
<a name='L301'></a><a href='#L301'>301</a>
<a name='L302'></a><a href='#L302'>302</a>
<a name='L303'></a><a href='#L303'>303</a>
<a name='L304'></a><a href='#L304'>304</a>
<a name='L305'></a><a href='#L305'>305</a>
<a name='L306'></a><a href='#L306'>306</a>
<a name='L307'></a><a href='#L307'>307</a>
<a name='L308'></a><a href='#L308'>308</a>
<a name='L309'></a><a href='#L309'>309</a>
<a name='L310'></a><a href='#L310'>310</a>
<a name='L311'></a><a href='#L311'>311</a>
<a name='L312'></a><a href='#L312'>312</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">6x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">57x</span>
<span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">57x</span>
<span class="cline-any cline-yes">6x</span>
<span class="cline-any cline-yes">6x</span>
<span class="cline-any cline-yes">51x</span>
<span class="cline-any cline-yes">26x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">57x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">6x</span>
<span class="cline-any cline-yes">6x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">6x</span>
<span class="cline-any cline-yes">6x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">6x</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">26x</span>
<span class="cline-any cline-yes">26x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">53x</span>
<span class="cline-any cline-yes">53x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">53x</span>
<span class="cline-any cline-yes">278x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">53x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">53x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">52x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">52x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">52x</span>
<span class="cline-any cline-yes">128x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">39x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">52x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-yes">2x</span>
<span class="cline-any cline-yes">2x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">87x</span>
<span class="cline-any cline-yes">87x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">87x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">60x</span>
<span class="cline-any cline-yes">12x</span>
<span class="cline-any cline-yes">12x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">48x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">47x</span>
<span class="cline-any cline-yes">27x</span>
<span class="cline-any cline-yes">25x</span>
<span class="cline-any cline-yes">25x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">20x</span>
<span class="cline-any cline-yes">20x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">32x</span>
<span class="cline-any cline-yes">32x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">90x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">90x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">746x</span>
<span class="cline-any cline-yes">746x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">90x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">90x</span>
<span class="cline-any cline-yes">28x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">62x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">48x</span>
<span class="cline-any cline-yes">32x</span>
<span class="cline-any cline-yes">32x</span>
<span class="cline-any cline-yes">32x</span>
<span class="cline-any cline-yes">11x</span>
<span class="cline-any cline-yes">11x</span>
<span class="cline-any cline-yes">17x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">37x</span>
<span class="cline-any cline-yes">37x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">17x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">17x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">17x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">16x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">16x</span>
<span class="cline-any cline-yes">18x</span>
<span class="cline-any cline-yes">18x</span>
<span class="cline-any cline-yes">13x</span>
<span class="cline-any cline-yes">13x</span>
<span class="cline-any cline-yes">13x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">143x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">143x</span>
<span class="cline-any cline-yes">143x</span>
<span class="cline-any cline-yes">42x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">143x</span>
<span class="cline-any cline-yes">96x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">143x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">143x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">143x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">143x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">47x</span>
<span class="cline-any cline-yes">5x</span>
<span class="cline-any cline-yes">5x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">42x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">12x</span>
<span class="cline-any cline-yes">4x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">8x</span>
<span class="cline-any cline-yes">8x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">30x</span>
<span class="cline-any cline-yes">30x</span>
<span class="cline-any cline-yes">30x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">30x</span>
<span class="cline-any cline-yes">30x</span>
<span class="cline-any cline-yes">34x</span>
<span class="cline-any cline-yes">34x</span>
<span class="cline-any cline-yes">34x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">25x</span>
<span class="cline-any cline-yes">25x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import "reflect-metadata";
import * as CryptoJS from 'crypto-js';
import {
IDi,
TConstructor,
IDiInstance,
IDiOptions,
IDiConstructor,
ILogger
} from "@zcodeapp/interfaces";
import { Logger } from "@zcodeapp/logger";
&nbsp;
/* eslint-disable @typescript-eslint/no-explicit-any */
export class Di implements IDi {
&nbsp;
/**
* Singleton instance of dependency injection
*/
static instance: IDi;
&nbsp;
/**
* List of instances
*/
private readonly _instances: IDiInstance[] = [];
&nbsp;
/**
* Method for get singleton instance
*
* @param _options Options for construct instance
* @returns Instance
*/
static getInstance(_options?: IDiConstructor): IDi {
if (_options?.cleanSingleton)
this.instance = undefined;
if (!this.instance) {
const _logger = _options?.logger ?? Logger.getInstance();
this.instance = new Di(_logger, _options);
} else if(_options)
this.instance.updateOptions(_options);
&nbsp;
return this.instance;
}
&nbsp;
/**
* Method for construct instance
*
* @param _options Options for construct instance
*/
public constructor(
private readonly _logger: ILogger,
private _options?: IDiConstructor
) {
this._logger.addPrefix("[Di] ");
this.register(Di, {
factory: () =&gt; Di.getInstance()
});
this.register(Logger, {
factory: <span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >this._logger</span>
});
}
&nbsp;
/**
* Method for update options of instance without new create
*
* @param _options Options for construct instance
*/
public updateOptions(_options: IDiConstructor): void {
this._logger.warn("Update options", { _options });
this._options = _options;
}
&nbsp;
/**
* Method for register a dependency
*
* @param key Identification dependency
* @param options Options for dependency
*/
public register&lt;T&gt;(key: TConstructor&lt;T&gt; | string, options?: IDiOptions): void {
&nbsp;
try {
this._logger.debug("Register instance", { key, options, diOptions: this._options });
&nbsp;
const unique = this._getKey(key);
const exists = this._instances.find(x =&gt; x.unique == unique);
this._logger.debug("Unique and exists data", { unique, exists });
if (exists &amp;&amp; this._options?.restrictRewriteKey)
throw new Error(`Error on try overwrite instance [${key.toString()}]`);
&nbsp;
const payload = {
key,
unique,
singleton: options?.singleton ?? true,
instance: null,
value: options?.value ?? undefined,
providers: options?.providers ?? [],
factory: options?.factory ?? undefined
};
this._logger.debug("Payload for register", { payload });
&nbsp;
if (exists)
this._instances[this._instances.findIndex(x =&gt; x.unique == unique)] = payload;
else
this._instances.push(payload);
&nbsp;
this._logger.debug("Success register key", { key, options });
} catch (ex) {
this._logger.fatal("Fatal error on try register instance", { key, options, ex });
throw ex;
}
}
&nbsp;
/**
* Method for add providers for dependency
*
* @param key Identification dependency
* @param providers List providers for dependency
*/
public provider&lt;T = any&gt;(key: TConstructor&lt;T&gt;, providers: any[]): void {
try {
this._logger.debug("Add provider for instance", { key, providers });
const instance = this._findInstance(key);
instance.providers = [...instance.providers, ...providers];
this._logger.debug("Success add provider for instance", { key, providers });
} catch (ex) {
this._logger.fatal("Fatal error on try add provider", { key, ex });
throw ex;
}
}
&nbsp;
/**
* Method for get dependency
*
* @param key Identification dependency
* @returns Instance or string|number|bool information
*/
public get&lt;T&gt;(key: TConstructor&lt;T&gt; | string): T {
&nbsp;
try {
this._logger.debug("Try get instance", { key });
&nbsp;
const instance = this._findInstance(key);
&nbsp;
if (instance.instance) {
this._logger.debug("Return singleton instance");
return instance.instance;
}
&nbsp;
const providers = this._getInstanceProviders(instance);
&nbsp;
if (instance.singleton) {
instance.instance = this._getInstance(instance, providers);
this._logger.debug("Return singleton instance");
return instance.instance;
}
&nbsp;
this._logger.debug("Return non-singleton instance");
return this._getInstance(instance, providers);
} catch (ex) {
this._logger.fatal("Fatal error on try get instance", { key, ex });
throw ex;
}
}
&nbsp;
/**
* Method for find dependency
*
* @param key Identification dependency
* @returns
*/
private _findInstance&lt;T&gt;(key: TConstructor&lt;T&gt; | string): IDiInstance {
&nbsp;
const unique = this._getKey(key);
&nbsp;
this._logger.debug("Try find instance", { unique });
&nbsp;
const instance = this._instances.find(x =&gt; x.unique == unique);
const index = this._instances.findIndex(x =&gt; x.unique == unique);
this._logger.debug("Success find instance", { instance, index });
&nbsp;
if (index &lt; 0 || !instance) {
throw new Error(`Instance not found [${key.toString()}]`);
}
return instance;
}
&nbsp;
/**
* Method for get providers constructor of class, using "reflect-metadata"
*
* @param instance Instance to extract metadata
* @returns Class constructor metadata
*/
private _getInstanceProviders(instance: IDiInstance) {
if (typeof instance.key == "function") {
this._logger.debug("Try get metadata from Reflect", { instance });
const existingMetadata = Reflect.getMetadata('design:paramtypes', instance.key) || [];
if (existingMetadata &amp;&amp; existingMetadata.length &gt; 0) {
this._logger.debug("Success get metadata from Reflect", { existingMetadata });
const exclude: string[] = [];
return existingMetadata.map(metadata =&gt; this._parseMetadataValue(instance, metadata, exclude));
}
}
this._logger.debug("Return empty metadata");
return [];
}
&nbsp;
/**
* Method to find dependencies based "reflect-metadata" values
*
* @param instance Instance for get dependencies
* @param metadata Metadata of class constructor param
* @param exclude Exclude used dependencies
* @returns Dependency
*/
private _parseMetadataValue(instance: IDiInstance, metadata: any, exclude: string[]) {
const type = (metadata?.name ?? "").toLowerCase();
this._logger.debug("Try parse metadata", { instance, metadata, exclude });
&nbsp;
if (!type || type == "")
throw new Error(`Param constructor from metadata empty [${instance.key.toString()}]`);
&nbsp;
this._logger.debug("Try find into instance providers");
return instance.providers.find((provider, index) =&gt; {
const depType = (typeof provider).toLowerCase();
if (depType == type &amp;&amp; !exclude.find(x =&gt; x == String(index))) {
exclude.push(String(index));
this._logger.debug("Success find providers into instance", { index, provider });
return provider;
}
}) ?? this.get(type);
}
&nbsp;
/**
* Method for get unique key for dependency identity
*
* @param key
* @returns
*/
private _getKey&lt;T&gt;(key: TConstructor&lt;T&gt; | string): string {
this._logger.debug("Get hash key for instance", { key });
let _key = JSON.stringify(key);
if (typeof key == "string")
_key = key.toLocaleLowerCase();
if (typeof key == "function")
_key = key.name.toLocaleLowerCase();
&nbsp;
this._logger.debug("Key for hash", { key, _key });
const result = CryptoJS.MD5(JSON.stringify(_key)).toString();
&nbsp;
this._logger.debug("Success get key hash for instance", { key, result });
&nbsp;
return result;
}
&nbsp;
/**
* Method for get instance value
*
* @param instance Instance for get value
* @param providers Providers of instance constructor
* @returns Instance or string|number|bool
*/
private _getInstance(instance: IDiInstance, providers?: any[]) {
if (instance.factory &amp;&amp; typeof instance.factory == "function") {
this._logger.debug("Return factory", { instance });
return instance.factory();
}
if (typeof instance.key == "string") {
&nbsp;
if (instance.value == undefined || instance.value == "")
throw new Error(`Configuration not have value [${instance.key}]`);
&nbsp;
this._logger.debug("Return string value", { value: instance.value });
return instance.value;
}
if (typeof instance.key == "function") {
this._logger.debug("Return function value", { providers, instanceProviders: instance.providers });
return new instance.key(...this._providers(providers.length &gt; 0 ? providers : instance.providers));
}
}
&nbsp;
/**
* Method for get dependency or just return value
*
* @param providers List of providers
* @returns Provider value
*/
private _providers(providers: any[]) {
this._logger.debug("Return providers for construct", { providers });
return providers.map(provider =&gt; {
try {
this._logger.debug("Try return from get method");
return this.get(provider);
} catch {
this._logger.debug("Method get have error, return provider");
return provider;
}
});
}
}
&nbsp;</pre></td></tr></table></pre>
<div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage generated by
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2024-01-28T07:30:10.737Z
</div>
<script src="prettify.js"></script>
<script>
window.onload = function () {
prettyPrint();
};
</script>
<script src="sorter.js"></script>
<script src="block-navigation.js"></script>
</body>
</html>

Sorry, the diff of this file is not supported yet

<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for All files</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="prettify.css" />
<link rel="stylesheet" href="base.css" />
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1>All files</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">99.25% </span>
<span class="quiet">Statements</span>
<span class='fraction'>134/135</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Branches</span>
<span class='fraction'>98/98</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">96.29% </span>
<span class="quiet">Functions</span>
<span class='fraction'>26/27</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">99.22% </span>
<span class="quiet">Lines</span>
<span class='fraction'>128/129</span>
</div>
</div>
<p class="quiet">
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
</p>
<template id="filterTemplate">
<div class="quiet">
Filter:
<input oninput="onInput()" type="search" id="fileSearch">
</div>
</template>
</div>
<div class='status-line high'></div>
<div class="pad1">
<table class="coverage-summary">
<thead>
<tr>
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
</tr>
</thead>
<tbody><tr>
<td class="file high" data-value="di.ts"><a href="di.ts.html">di.ts</a></td>
<td data-value="99.17" class="pic high">
<div class="chart"><div class="cover-fill" style="width: 99%"></div><div class="cover-empty" style="width: 1%"></div></div>
</td>
<td data-value="99.17" class="pct high">99.17%</td>
<td data-value="121" class="abs high">120/121</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="98" class="abs high">98/98</td>
<td data-value="95.45" class="pct high">95.45%</td>
<td data-value="22" class="abs high">21/22</td>
<td data-value="99.13" class="pct high">99.13%</td>
<td data-value="115" class="abs high">114/115</td>
</tr>
<tr>
<td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
<td data-value="100" class="pic high">
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="3" class="abs high">3/3</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="0" class="abs high">0/0</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="0" class="abs high">0/0</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="3" class="abs high">3/3</td>
</tr>
<tr>
<td class="file high" data-value="inject.ts"><a href="inject.ts.html">inject.ts</a></td>
<td data-value="100" class="pic high">
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="5" class="abs high">5/5</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="0" class="abs high">0/0</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="3" class="abs high">3/3</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="5" class="abs high">5/5</td>
</tr>
<tr>
<td class="file high" data-value="injectable.ts"><a href="injectable.ts.html">injectable.ts</a></td>
<td data-value="100" class="pic high">
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="6" class="abs high">6/6</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="0" class="abs high">0/0</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="2" class="abs high">2/2</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="6" class="abs high">6/6</td>
</tr>
</tbody>
</table>
</div>
<div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage generated by
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2024-01-28T07:30:10.737Z
</div>
<script src="prettify.js"></script>
<script>
window.onload = function () {
prettyPrint();
};
</script>
<script src="sorter.js"></script>
<script src="block-navigation.js"></script>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for index.ts</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="prettify.css" />
<link rel="stylesheet" href="base.css" />
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1><a href="index.html">All files</a> index.ts</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Statements</span>
<span class='fraction'>3/3</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Branches</span>
<span class='fraction'>0/0</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Functions</span>
<span class='fraction'>0/0</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Lines</span>
<span class='fraction'>3/3</span>
</div>
</div>
<p class="quiet">
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
</p>
<template id="filterTemplate">
<div class="quiet">
Filter:
<input oninput="onInput()" type="search" id="fileSearch">
</div>
</template>
</div>
<div class='status-line high'></div>
<pre><table class="coverage">
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
<a name='L2'></a><a href='#L2'>2</a>
<a name='L3'></a><a href='#L3'>3</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-yes">3x</span></td><td class="text"><pre class="prettyprint lang-js">export * from "./di";
export * from "./inject"
export * from "./injectable"</pre></td></tr></table></pre>
<div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage generated by
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2024-01-28T07:30:10.737Z
</div>
<script src="prettify.js"></script>
<script>
window.onload = function () {
prettyPrint();
};
</script>
<script src="sorter.js"></script>
<script src="block-navigation.js"></script>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for inject.ts</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="prettify.css" />
<link rel="stylesheet" href="base.css" />
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1><a href="index.html">All files</a> inject.ts</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Statements</span>
<span class='fraction'>5/5</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Branches</span>
<span class='fraction'>0/0</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Functions</span>
<span class='fraction'>3/3</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Lines</span>
<span class='fraction'>5/5</span>
</div>
</div>
<p class="quiet">
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
</p>
<template id="filterTemplate">
<div class="quiet">
Filter:
<input oninput="onInput()" type="search" id="fileSearch">
</div>
</template>
</div>
<div class='status-line high'></div>
<pre><table class="coverage">
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
<a name='L2'></a><a href='#L2'>2</a>
<a name='L3'></a><a href='#L3'>3</a>
<a name='L4'></a><a href='#L4'>4</a>
<a name='L5'></a><a href='#L5'>5</a>
<a name='L6'></a><a href='#L6'>6</a>
<a name='L7'></a><a href='#L7'>7</a>
<a name='L8'></a><a href='#L8'>8</a>
<a name='L9'></a><a href='#L9'>9</a>
<a name='L10'></a><a href='#L10'>10</a>
<a name='L11'></a><a href='#L11'>11</a>
<a name='L12'></a><a href='#L12'>12</a>
<a name='L13'></a><a href='#L13'>13</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-yes">2x</span>
<span class="cline-any cline-yes">2x</span>
<span class="cline-any cline-yes">4x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { TConstructor } from "@zcodeapp/interfaces";
import { Di } from ".";
&nbsp;
/* eslint-disable @typescript-eslint/no-explicit-any */
export function Inject&lt;T&gt;(key: TConstructor&lt;T&gt; | string) {
return function (target: any, propertyKey: any) {
Object.defineProperty(target, propertyKey, {
get: () =&gt; Di.getInstance().get(key),
enumerable: true,
configurable: true,
});
};
}</pre></td></tr></table></pre>
<div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage generated by
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2024-01-28T07:30:10.737Z
</div>
<script src="prettify.js"></script>
<script>
window.onload = function () {
prettyPrint();
};
</script>
<script src="sorter.js"></script>
<script src="block-navigation.js"></script>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for injectable.ts</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="prettify.css" />
<link rel="stylesheet" href="base.css" />
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1><a href="index.html">All files</a> injectable.ts</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Statements</span>
<span class='fraction'>6/6</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Branches</span>
<span class='fraction'>0/0</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Functions</span>
<span class='fraction'>2/2</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Lines</span>
<span class='fraction'>6/6</span>
</div>
</div>
<p class="quiet">
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
</p>
<template id="filterTemplate">
<div class="quiet">
Filter:
<input oninput="onInput()" type="search" id="fileSearch">
</div>
</template>
</div>
<div class='status-line high'></div>
<pre><table class="coverage">
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
<a name='L2'></a><a href='#L2'>2</a>
<a name='L3'></a><a href='#L3'>3</a>
<a name='L4'></a><a href='#L4'>4</a>
<a name='L5'></a><a href='#L5'>5</a>
<a name='L6'></a><a href='#L6'>6</a>
<a name='L7'></a><a href='#L7'>7</a>
<a name='L8'></a><a href='#L8'>8</a>
<a name='L9'></a><a href='#L9'>9</a>
<a name='L10'></a><a href='#L10'>10</a>
<a name='L11'></a><a href='#L11'>11</a>
<a name='L12'></a><a href='#L12'>12</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-yes">11x</span>
<span class="cline-any cline-yes">11x</span>
<span class="cline-any cline-yes">11x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IDiOptions, TConstructor } from "@zcodeapp/interfaces";
import { Di } from ".";
import "reflect-metadata";
&nbsp;
/* eslint-disable @typescript-eslint/no-explicit-any */
export function Injectable(options?: IDiOptions): any {
return function(constructor: TConstructor&lt;any&gt;) {
const di = Di.getInstance();
di.register(constructor, options);
};
}
&nbsp;</pre></td></tr></table></pre>
<div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage generated by
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2024-01-28T07:30:10.737Z
</div>
<script src="prettify.js"></script>
<script>
window.onload = function () {
prettyPrint();
};
</script>
<script src="sorter.js"></script>
<script src="block-navigation.js"></script>
</body>
</html>
.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
/* eslint-disable */
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"]);

Sorry, the diff of this file is not supported yet

/* eslint-disable */
var addSorting = (function() {
'use strict';
var cols,
currentSort = {
index: 0,
desc: false
};
// returns the summary table element
function getTable() {
return document.querySelector('.coverage-summary');
}
// 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];
}
function onFilterInput() {
const searchValue = document.getElementById('fileSearch').value;
const rows = document.getElementsByTagName('tbody')[0].children;
for (let i = 0; i < rows.length; i++) {
const row = rows[i];
if (
row.textContent
.toLowerCase()
.includes(searchValue.toLowerCase())
) {
row.style.display = '';
} else {
row.style.display = 'none';
}
}
}
// loads the search box
function addSearchBox() {
var template = document.getElementById('filterTemplate');
var templateClone = template.content.cloneNode(true);
templateClone.getElementById('fileSearch').oninput = onFilterInput;
template.parentElement.appendChild(templateClone);
}
// 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;
}
// 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;
}
// 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]);
}
}
// 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);
};
}
for (i = 0; i < rowNodes.length; i += 1) {
rows.push(rowNodes[i]);
tableBody.removeChild(rowNodes[i]);
}
rows.sort(finalSorter);
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;
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;
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) {
// add the click event handler on the th so users
// dont have to click on those tiny arrows
el = getNthColumn(i).querySelector('.sorter').parentElement;
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();
addSearchBox();
addSortIndicators();
enableUI();
};
})();
window.addEventListener('load', addSorting);
+1
-1

@@ -1,2 +0,2 @@

{"/app/src/di/src/di.ts": {"path":"/app/src/di/src/di.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":26}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":38}},"2":{"start":{"line":11,"column":0},"end":{"line":11,"column":42}},"3":{"start":{"line":33,"column":4},"end":{"line":34,"column":32}},"4":{"start":{"line":34,"column":6},"end":{"line":34,"column":32}},"5":{"start":{"line":36,"column":4},"end":{"line":40,"column":44}},"6":{"start":{"line":37,"column":22},"end":{"line":37,"column":62}},"7":{"start":{"line":38,"column":6},"end":{"line":38,"column":48}},"8":{"start":{"line":39,"column":11},"end":{"line":40,"column":44}},"9":{"start":{"line":40,"column":6},"end":{"line":40,"column":44}},"10":{"start":{"line":42,"column":4},"end":{"line":42,"column":25}},"11":{"start":{"line":51,"column":21},"end":{"line":51,"column":37}},"12":{"start":{"line":52,"column":12},"end":{"line":52,"column":37}},"13":{"start":{"line":24,"column":19},"end":{"line":24,"column":50}},"14":{"start":{"line":54,"column":4},"end":{"line":54,"column":36}},"15":{"start":{"line":63,"column":4},"end":{"line":63,"column":54}},"16":{"start":{"line":64,"column":4},"end":{"line":64,"column":29}},"17":{"start":{"line":75,"column":4},"end":{"line":107,"column":5}},"18":{"start":{"line":76,"column":6},"end":{"line":76,"column":90}},"19":{"start":{"line":78,"column":21},"end":{"line":78,"column":38}},"20":{"start":{"line":79,"column":21},"end":{"line":79,"column":66}},"21":{"start":{"line":79,"column":47},"end":{"line":79,"column":65}},"22":{"start":{"line":81,"column":6},"end":{"line":81,"column":71}},"23":{"start":{"line":83,"column":6},"end":{"line":84,"column":79}},"24":{"start":{"line":84,"column":8},"end":{"line":84,"column":79}},"25":{"start":{"line":86,"column":22},"end":{"line":94,"column":8}},"26":{"start":{"line":96,"column":6},"end":{"line":96,"column":62}},"27":{"start":{"line":98,"column":6},"end":{"line":101,"column":38}},"28":{"start":{"line":99,"column":8},"end":{"line":99,"column":86}},"29":{"start":{"line":99,"column":55},"end":{"line":99,"column":73}},"30":{"start":{"line":101,"column":8},"end":{"line":101,"column":38}},"31":{"start":{"line":103,"column":6},"end":{"line":103,"column":67}},"32":{"start":{"line":105,"column":6},"end":{"line":105,"column":87}},"33":{"start":{"line":106,"column":6},"end":{"line":106,"column":15}},"34":{"start":{"line":117,"column":4},"end":{"line":125,"column":5}},"35":{"start":{"line":118,"column":6},"end":{"line":118,"column":74}},"36":{"start":{"line":119,"column":23},"end":{"line":119,"column":46}},"37":{"start":{"line":120,"column":6},"end":{"line":120,"column":65}},"38":{"start":{"line":121,"column":6},"end":{"line":121,"column":82}},"39":{"start":{"line":123,"column":6},"end":{"line":123,"column":73}},"40":{"start":{"line":124,"column":6},"end":{"line":124,"column":15}},"41":{"start":{"line":135,"column":4},"end":{"line":158,"column":5}},"42":{"start":{"line":136,"column":6},"end":{"line":136,"column":54}},"43":{"start":{"line":138,"column":23},"end":{"line":138,"column":46}},"44":{"start":{"line":140,"column":6},"end":{"line":143,"column":7}},"45":{"start":{"line":141,"column":8},"end":{"line":141,"column":56}},"46":{"start":{"line":142,"column":8},"end":{"line":142,"column":33}},"47":{"start":{"line":145,"column":24},"end":{"line":145,"column":60}},"48":{"start":{"line":147,"column":6},"end":{"line":151,"column":7}},"49":{"start":{"line":148,"column":8},"end":{"line":148,"column":67}},"50":{"start":{"line":149,"column":8},"end":{"line":149,"column":56}},"51":{"start":{"line":150,"column":8},"end":{"line":150,"column":33}},"52":{"start":{"line":153,"column":6},"end":{"line":153,"column":58}},"53":{"start":{"line":154,"column":6},"end":{"line":154,"column":52}},"54":{"start":{"line":156,"column":6},"end":{"line":156,"column":73}},"55":{"start":{"line":157,"column":6},"end":{"line":157,"column":15}},"56":{"start":{"line":168,"column":19},"end":{"line":168,"column":36}},"57":{"start":{"line":170,"column":4},"end":{"line":170,"column":56}},"58":{"start":{"line":172,"column":21},"end":{"line":172,"column":66}},"59":{"start":{"line":172,"column":47},"end":{"line":172,"column":65}},"60":{"start":{"line":173,"column":18},"end":{"line":173,"column":68}},"61":{"start":{"line":173,"column":49},"end":{"line":173,"column":67}},"62":{"start":{"line":175,"column":4},"end":{"line":175,"column":69}},"63":{"start":{"line":177,"column":4},"end":{"line":178,"column":64}},"64":{"start":{"line":178,"column":6},"end":{"line":178,"column":64}},"65":{"start":{"line":180,"column":4},"end":{"line":180,"column":20}},"66":{"start":{"line":190,"column":4},"end":{"line":198,"column":5}},"67":{"start":{"line":191,"column":6},"end":{"line":191,"column":72}},"68":{"start":{"line":192,"column":31},"end":{"line":192,"column":91}},"69":{"start":{"line":193,"column":6},"end":{"line":197,"column":7}},"70":{"start":{"line":194,"column":8},"end":{"line":194,"column":86}},"71":{"start":{"line":195,"column":34},"end":{"line":195,"column":36}},"72":{"start":{"line":196,"column":8},"end":{"line":196,"column":103}},"73":{"start":{"line":196,"column":48},"end":{"line":196,"column":101}},"74":{"start":{"line":199,"column":4},"end":{"line":199,"column":48}},"75":{"start":{"line":200,"column":4},"end":{"line":200,"column":14}},"76":{"start":{"line":212,"column":17},"end":{"line":212,"column":53}},"77":{"start":{"line":214,"column":4},"end":{"line":214,"column":78}},"78":{"start":{"line":216,"column":4},"end":{"line":217,"column":92}},"79":{"start":{"line":217,"column":6},"end":{"line":217,"column":92}},"80":{"start":{"line":219,"column":4},"end":{"line":219,"column":59}},"81":{"start":{"line":221,"column":4},"end":{"line":228,"column":25}},"82":{"start":{"line":222,"column":22},"end":{"line":222,"column":53}},"83":{"start":{"line":223,"column":6},"end":{"line":227,"column":7}},"84":{"start":{"line":223,"column":48},"end":{"line":223,"column":66}},"85":{"start":{"line":224,"column":8},"end":{"line":224,"column":36}},"86":{"start":{"line":225,"column":8},"end":{"line":225,"column":88}},"87":{"start":{"line":226,"column":8},"end":{"line":226,"column":24}},"88":{"start":{"line":238,"column":4},"end":{"line":238,"column":61}},"89":{"start":{"line":240,"column":15},"end":{"line":240,"column":34}},"90":{"start":{"line":241,"column":4},"end":{"line":242,"column":37}},"91":{"start":{"line":242,"column":6},"end":{"line":242,"column":37}},"92":{"start":{"line":244,"column":4},"end":{"line":245,"column":42}},"93":{"start":{"line":245,"column":6},"end":{"line":245,"column":42}},"94":{"start":{"line":247,"column":4},"end":{"line":247,"column":54}},"95":{"start":{"line":249,"column":19},"end":{"line":249,"column":64}},"96":{"start":{"line":251,"column":4},"end":{"line":251,"column":77}},"97":{"start":{"line":253,"column":4},"end":{"line":253,"column":18}},"98":{"start":{"line":264,"column":4},"end":{"line":267,"column":5}},"99":{"start":{"line":265,"column":6},"end":{"line":265,"column":57}},"100":{"start":{"line":266,"column":6},"end":{"line":266,"column":32}},"101":{"start":{"line":269,"column":4},"end":{"line":276,"column":5}},"102":{"start":{"line":271,"column":6},"end":{"line":272,"column":74}},"103":{"start":{"line":272,"column":8},"end":{"line":272,"column":74}},"104":{"start":{"line":274,"column":6},"end":{"line":274,"column":75}},"105":{"start":{"line":275,"column":6},"end":{"line":275,"column":28}},"106":{"start":{"line":278,"column":4},"end":{"line":281,"column":5}},"107":{"start":{"line":279,"column":6},"end":{"line":279,"column":104}},"108":{"start":{"line":280,"column":6},"end":{"line":280,"column":105}},"109":{"start":{"line":291,"column":4},"end":{"line":291,"column":72}},"110":{"start":{"line":292,"column":4},"end":{"line":300,"column":7}},"111":{"start":{"line":293,"column":6},"end":{"line":299,"column":7}},"112":{"start":{"line":294,"column":8},"end":{"line":294,"column":57}},"113":{"start":{"line":295,"column":8},"end":{"line":295,"column":34}},"114":{"start":{"line":297,"column":8},"end":{"line":297,"column":69}},"115":{"start":{"line":298,"column":8},"end":{"line":298,"column":24}},"116":{"start":{"line":14,"column":0},"end":{"line":14,"column":13}}},"fnMap":{"0":{"name":"(anonymous_6)","decl":{"start":{"line":32,"column":2},"end":{"line":32,"column":8}},"loc":{"start":{"line":32,"column":46},"end":{"line":43,"column":3}}},"1":{"name":"(anonymous_7)","decl":{"start":{"line":50,"column":2},"end":{"line":50,"column":null}},"loc":{"start":{"line":52,"column":37},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_8)","decl":{"start":{"line":62,"column":9},"end":{"line":62,"column":22}},"loc":{"start":{"line":62,"column":47},"end":{"line":65,"column":3}}},"3":{"name":"(anonymous_9)","decl":{"start":{"line":73,"column":9},"end":{"line":73,"column":17}},"loc":{"start":{"line":73,"column":72},"end":{"line":108,"column":3}}},"4":{"name":"(anonymous_10)","decl":{"start":{"line":79,"column":42},"end":{"line":79,"column":43}},"loc":{"start":{"line":79,"column":47},"end":{"line":79,"column":65}}},"5":{"name":"(anonymous_11)","decl":{"start":{"line":99,"column":50},"end":{"line":99,"column":51}},"loc":{"start":{"line":99,"column":55},"end":{"line":99,"column":73}}},"6":{"name":"(anonymous_12)","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":17}},"loc":{"start":{"line":116,"column":65},"end":{"line":126,"column":3}}},"7":{"name":"(anonymous_13)","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":12}},"loc":{"start":{"line":134,"column":45},"end":{"line":159,"column":3}}},"8":{"name":"(anonymous_14)","decl":{"start":{"line":167,"column":10},"end":{"line":167,"column":23}},"loc":{"start":{"line":167,"column":56},"end":{"line":181,"column":3}}},"9":{"name":"(anonymous_15)","decl":{"start":{"line":172,"column":42},"end":{"line":172,"column":43}},"loc":{"start":{"line":172,"column":47},"end":{"line":172,"column":65}}},"10":{"name":"(anonymous_16)","decl":{"start":{"line":173,"column":44},"end":{"line":173,"column":45}},"loc":{"start":{"line":173,"column":49},"end":{"line":173,"column":67}}},"11":{"name":"(anonymous_17)","decl":{"start":{"line":189,"column":10},"end":{"line":189,"column":31}},"loc":{"start":{"line":189,"column":53},"end":{"line":201,"column":3}}},"12":{"name":"(anonymous_18)","decl":{"start":{"line":196,"column":36},"end":{"line":196,"column":44}},"loc":{"start":{"line":196,"column":48},"end":{"line":196,"column":101}}},"13":{"name":"(anonymous_19)","decl":{"start":{"line":211,"column":10},"end":{"line":211,"column":29}},"loc":{"start":{"line":211,"column":85},"end":{"line":229,"column":3}}},"14":{"name":"(anonymous_20)","decl":{"start":{"line":221,"column":35},"end":{"line":221,"column":36}},"loc":{"start":{"line":221,"column":55},"end":{"line":228,"column":5}}},"15":{"name":"(anonymous_21)","decl":{"start":{"line":223,"column":43},"end":{"line":223,"column":44}},"loc":{"start":{"line":223,"column":48},"end":{"line":223,"column":66}}},"16":{"name":"(anonymous_22)","decl":{"start":{"line":237,"column":10},"end":{"line":237,"column":17}},"loc":{"start":{"line":237,"column":50},"end":{"line":254,"column":3}}},"17":{"name":"(anonymous_23)","decl":{"start":{"line":263,"column":10},"end":{"line":263,"column":22}},"loc":{"start":{"line":263,"column":63},"end":{"line":282,"column":3}}},"18":{"name":"(anonymous_24)","decl":{"start":{"line":290,"column":10},"end":{"line":290,"column":20}},"loc":{"start":{"line":290,"column":37},"end":{"line":301,"column":3}}},"19":{"name":"(anonymous_25)","decl":{"start":{"line":292,"column":25},"end":{"line":292,"column":33}},"loc":{"start":{"line":292,"column":36},"end":{"line":300,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":4},"end":{"line":34,"column":32}},"type":"if","locations":[{"start":{"line":33,"column":4},"end":{"line":34,"column":32}}]},"1":{"loc":{"start":{"line":33,"column":8},"end":{"line":33,"column":32}},"type":"cond-expr","locations":[{"start":{"line":33,"column":16},"end":{"line":33,"column":18}},{"start":{"line":33,"column":8},"end":{"line":33,"column":32}}]},"2":{"loc":{"start":{"line":33,"column":8},"end":{"line":33,"column":18}},"type":"binary-expr","locations":[{"start":{"line":33,"column":8},"end":{"line":33,"column":18}},{"start":{"line":33,"column":8},"end":{"line":33,"column":18}}]},"3":{"loc":{"start":{"line":36,"column":4},"end":{"line":40,"column":44}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":40,"column":44}},{"start":{"line":39,"column":11},"end":{"line":40,"column":44}}]},"4":{"loc":{"start":{"line":37,"column":22},"end":{"line":37,"column":62}},"type":"cond-expr","locations":[{"start":{"line":37,"column":38},"end":{"line":37,"column":42}},{"start":{"line":37,"column":42},"end":{"line":37,"column":62}}]},"5":{"loc":{"start":{"line":37,"column":22},"end":{"line":37,"column":42}},"type":"binary-expr","locations":[{"start":{"line":37,"column":22},"end":{"line":37,"column":42}},{"start":{"line":37,"column":38},"end":{"line":37,"column":42}}]},"6":{"loc":{"start":{"line":37,"column":22},"end":{"line":37,"column":38}},"type":"cond-expr","locations":[{"start":{"line":37,"column":30},"end":{"line":37,"column":32}},{"start":{"line":37,"column":22},"end":{"line":37,"column":38}}]},"7":{"loc":{"start":{"line":37,"column":22},"end":{"line":37,"column":32}},"type":"binary-expr","locations":[{"start":{"line":37,"column":22},"end":{"line":37,"column":32}},{"start":{"line":37,"column":22},"end":{"line":37,"column":32}}]},"8":{"loc":{"start":{"line":39,"column":11},"end":{"line":40,"column":44}},"type":"if","locations":[{"start":{"line":39,"column":11},"end":{"line":40,"column":44}}]},"9":{"loc":{"start":{"line":83,"column":6},"end":{"line":84,"column":79}},"type":"if","locations":[{"start":{"line":83,"column":6},"end":{"line":84,"column":79}}]},"10":{"loc":{"start":{"line":83,"column":10},"end":{"line":83,"column":null}},"type":"binary-expr","locations":[{"start":{"line":83,"column":10},"end":{"line":83,"column":16}},{"start":{"line":83,"column":20},"end":{"line":83,"column":53}}]},"11":{"loc":{"start":{"line":83,"column":20},"end":{"line":83,"column":53}},"type":"cond-expr","locations":[{"start":{"line":83,"column":33},"end":{"line":83,"column":35}},{"start":{"line":83,"column":33},"end":{"line":83,"column":53}}]},"12":{"loc":{"start":{"line":83,"column":20},"end":{"line":83,"column":35}},"type":"binary-expr","locations":[{"start":{"line":83,"column":20},"end":{"line":83,"column":35}},{"start":{"line":83,"column":33},"end":{"line":83,"column":35}}]},"13":{"loc":{"start":{"line":89,"column":19},"end":{"line":89,"column":45}},"type":"cond-expr","locations":[{"start":{"line":89,"column":37},"end":{"line":89,"column":41}},{"start":{"line":89,"column":41},"end":{"line":89,"column":45}}]},"14":{"loc":{"start":{"line":89,"column":19},"end":{"line":89,"column":41}},"type":"binary-expr","locations":[{"start":{"line":89,"column":19},"end":{"line":89,"column":41}},{"start":{"line":89,"column":37},"end":{"line":89,"column":41}}]},"15":{"loc":{"start":{"line":89,"column":19},"end":{"line":89,"column":37}},"type":"cond-expr","locations":[{"start":{"line":89,"column":26},"end":{"line":89,"column":28}},{"start":{"line":89,"column":19},"end":{"line":89,"column":37}}]},"16":{"loc":{"start":{"line":89,"column":19},"end":{"line":89,"column":28}},"type":"binary-expr","locations":[{"start":{"line":89,"column":19},"end":{"line":89,"column":28}},{"start":{"line":89,"column":19},"end":{"line":89,"column":28}}]},"17":{"loc":{"start":{"line":91,"column":15},"end":{"line":91,"column":42}},"type":"cond-expr","locations":[{"start":{"line":91,"column":29},"end":{"line":91,"column":33}},{"start":{"line":91,"column":33},"end":{"line":91,"column":42}}]},"18":{"loc":{"start":{"line":91,"column":15},"end":{"line":91,"column":33}},"type":"binary-expr","locations":[{"start":{"line":91,"column":15},"end":{"line":91,"column":33}},{"start":{"line":91,"column":29},"end":{"line":91,"column":33}}]},"19":{"loc":{"start":{"line":91,"column":15},"end":{"line":91,"column":29}},"type":"cond-expr","locations":[{"start":{"line":91,"column":22},"end":{"line":91,"column":24}},{"start":{"line":91,"column":15},"end":{"line":91,"column":29}}]},"20":{"loc":{"start":{"line":91,"column":15},"end":{"line":91,"column":24}},"type":"binary-expr","locations":[{"start":{"line":91,"column":15},"end":{"line":91,"column":24}},{"start":{"line":91,"column":15},"end":{"line":91,"column":24}}]},"21":{"loc":{"start":{"line":92,"column":19},"end":{"line":92,"column":43}},"type":"cond-expr","locations":[{"start":{"line":92,"column":37},"end":{"line":92,"column":41}},{"start":{"line":92,"column":41},"end":{"line":92,"column":43}}]},"22":{"loc":{"start":{"line":92,"column":19},"end":{"line":92,"column":41}},"type":"binary-expr","locations":[{"start":{"line":92,"column":19},"end":{"line":92,"column":41}},{"start":{"line":92,"column":37},"end":{"line":92,"column":41}}]},"23":{"loc":{"start":{"line":92,"column":19},"end":{"line":92,"column":37}},"type":"cond-expr","locations":[{"start":{"line":92,"column":26},"end":{"line":92,"column":28}},{"start":{"line":92,"column":19},"end":{"line":92,"column":37}}]},"24":{"loc":{"start":{"line":92,"column":19},"end":{"line":92,"column":28}},"type":"binary-expr","locations":[{"start":{"line":92,"column":19},"end":{"line":92,"column":28}},{"start":{"line":92,"column":19},"end":{"line":92,"column":28}}]},"25":{"loc":{"start":{"line":93,"column":17},"end":{"line":93,"column":46}},"type":"cond-expr","locations":[{"start":{"line":93,"column":33},"end":{"line":93,"column":37}},{"start":{"line":93,"column":37},"end":{"line":93,"column":46}}]},"26":{"loc":{"start":{"line":93,"column":17},"end":{"line":93,"column":37}},"type":"binary-expr","locations":[{"start":{"line":93,"column":17},"end":{"line":93,"column":37}},{"start":{"line":93,"column":33},"end":{"line":93,"column":37}}]},"27":{"loc":{"start":{"line":93,"column":17},"end":{"line":93,"column":33}},"type":"cond-expr","locations":[{"start":{"line":93,"column":24},"end":{"line":93,"column":26}},{"start":{"line":93,"column":17},"end":{"line":93,"column":33}}]},"28":{"loc":{"start":{"line":93,"column":17},"end":{"line":93,"column":26}},"type":"binary-expr","locations":[{"start":{"line":93,"column":17},"end":{"line":93,"column":26}},{"start":{"line":93,"column":17},"end":{"line":93,"column":26}}]},"29":{"loc":{"start":{"line":98,"column":6},"end":{"line":101,"column":38}},"type":"if","locations":[{"start":{"line":98,"column":6},"end":{"line":101,"column":38}},{"start":{"line":101,"column":8},"end":{"line":101,"column":38}}]},"30":{"loc":{"start":{"line":140,"column":6},"end":{"line":143,"column":7}},"type":"if","locations":[{"start":{"line":140,"column":6},"end":{"line":143,"column":7}}]},"31":{"loc":{"start":{"line":147,"column":6},"end":{"line":151,"column":7}},"type":"if","locations":[{"start":{"line":147,"column":6},"end":{"line":151,"column":7}}]},"32":{"loc":{"start":{"line":177,"column":4},"end":{"line":178,"column":64}},"type":"if","locations":[{"start":{"line":177,"column":4},"end":{"line":178,"column":64}}]},"33":{"loc":{"start":{"line":177,"column":8},"end":{"line":177,"column":30}},"type":"binary-expr","locations":[{"start":{"line":177,"column":8},"end":{"line":177,"column":17}},{"start":{"line":177,"column":21},"end":{"line":177,"column":30}}]},"34":{"loc":{"start":{"line":190,"column":4},"end":{"line":198,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":198,"column":5}}]},"35":{"loc":{"start":{"line":192,"column":31},"end":{"line":192,"column":91}},"type":"binary-expr","locations":[{"start":{"line":192,"column":31},"end":{"line":192,"column":85}},{"start":{"line":192,"column":89},"end":{"line":192,"column":91}}]},"36":{"loc":{"start":{"line":193,"column":6},"end":{"line":197,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":197,"column":7}}]},"37":{"loc":{"start":{"line":193,"column":10},"end":{"line":193,"column":57}},"type":"binary-expr","locations":[{"start":{"line":193,"column":10},"end":{"line":193,"column":26}},{"start":{"line":193,"column":30},"end":{"line":193,"column":57}}]},"38":{"loc":{"start":{"line":212,"column":18},"end":{"line":212,"column":38}},"type":"cond-expr","locations":[{"start":{"line":212,"column":32},"end":{"line":212,"column":36}},{"start":{"line":212,"column":36},"end":{"line":212,"column":38}}]},"39":{"loc":{"start":{"line":212,"column":18},"end":{"line":212,"column":36}},"type":"binary-expr","locations":[{"start":{"line":212,"column":18},"end":{"line":212,"column":36}},{"start":{"line":212,"column":32},"end":{"line":212,"column":36}}]},"40":{"loc":{"start":{"line":212,"column":18},"end":{"line":212,"column":32}},"type":"cond-expr","locations":[{"start":{"line":212,"column":26},"end":{"line":212,"column":28}},{"start":{"line":212,"column":18},"end":{"line":212,"column":32}}]},"41":{"loc":{"start":{"line":212,"column":18},"end":{"line":212,"column":28}},"type":"binary-expr","locations":[{"start":{"line":212,"column":18},"end":{"line":212,"column":28}},{"start":{"line":212,"column":18},"end":{"line":212,"column":28}}]},"42":{"loc":{"start":{"line":216,"column":4},"end":{"line":217,"column":92}},"type":"if","locations":[{"start":{"line":216,"column":4},"end":{"line":217,"column":92}}]},"43":{"loc":{"start":{"line":216,"column":8},"end":{"line":216,"column":27}},"type":"binary-expr","locations":[{"start":{"line":216,"column":8},"end":{"line":216,"column":13}},{"start":{"line":216,"column":17},"end":{"line":216,"column":27}}]},"44":{"loc":{"start":{"line":221,"column":11},"end":{"line":228,"column":24}},"type":"cond-expr","locations":[{"start":{"line":228,"column":6},"end":{"line":228,"column":10}},{"start":{"line":228,"column":10},"end":{"line":228,"column":24}}]},"45":{"loc":{"start":{"line":221,"column":11},"end":{"line":228,"column":10}},"type":"binary-expr","locations":[{"start":{"line":221,"column":11},"end":{"line":228,"column":10}},{"start":{"line":228,"column":6},"end":{"line":228,"column":10}}]},"46":{"loc":{"start":{"line":223,"column":6},"end":{"line":227,"column":7}},"type":"if","locations":[{"start":{"line":223,"column":6},"end":{"line":227,"column":7}}]},"47":{"loc":{"start":{"line":223,"column":10},"end":{"line":223,"column":67}},"type":"binary-expr","locations":[{"start":{"line":223,"column":10},"end":{"line":223,"column":25}},{"start":{"line":223,"column":29},"end":{"line":223,"column":67}}]},"48":{"loc":{"start":{"line":241,"column":4},"end":{"line":242,"column":37}},"type":"if","locations":[{"start":{"line":241,"column":4},"end":{"line":242,"column":37}}]},"49":{"loc":{"start":{"line":244,"column":4},"end":{"line":245,"column":42}},"type":"if","locations":[{"start":{"line":244,"column":4},"end":{"line":245,"column":42}}]},"50":{"loc":{"start":{"line":264,"column":4},"end":{"line":267,"column":5}},"type":"if","locations":[{"start":{"line":264,"column":4},"end":{"line":267,"column":5}}]},"51":{"loc":{"start":{"line":264,"column":8},"end":{"line":264,"column":65}},"type":"binary-expr","locations":[{"start":{"line":264,"column":8},"end":{"line":264,"column":24}},{"start":{"line":264,"column":28},"end":{"line":264,"column":65}}]},"52":{"loc":{"start":{"line":269,"column":4},"end":{"line":276,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":276,"column":5}}]},"53":{"loc":{"start":{"line":271,"column":6},"end":{"line":272,"column":74}},"type":"if","locations":[{"start":{"line":271,"column":6},"end":{"line":272,"column":74}}]},"54":{"loc":{"start":{"line":271,"column":10},"end":{"line":271,"column":61}},"type":"binary-expr","locations":[{"start":{"line":271,"column":10},"end":{"line":271,"column":37}},{"start":{"line":271,"column":41},"end":{"line":271,"column":61}}]},"55":{"loc":{"start":{"line":278,"column":4},"end":{"line":281,"column":5}},"type":"if","locations":[{"start":{"line":278,"column":4},"end":{"line":281,"column":5}}]},"56":{"loc":{"start":{"line":280,"column":49},"end":{"line":280,"column":102}},"type":"cond-expr","locations":[{"start":{"line":280,"column":72},"end":{"line":280,"column":81}},{"start":{"line":280,"column":84},"end":{"line":280,"column":102}}]}},"s":{"0":3,"1":3,"2":3,"3":55,"4":3,"5":55,"6":6,"7":6,"8":49,"9":25,"10":55,"11":6,"12":6,"13":6,"14":6,"15":25,"16":25,"17":41,"18":41,"19":41,"20":41,"21":190,"22":41,"23":41,"24":1,"25":40,"26":40,"27":40,"28":13,"29":102,"30":27,"31":40,"32":1,"33":1,"34":3,"35":3,"36":3,"37":2,"38":2,"39":1,"40":1,"41":86,"42":86,"43":86,"44":59,"45":12,"46":12,"47":47,"48":46,"49":26,"50":24,"51":24,"52":20,"53":20,"54":32,"55":32,"56":89,"57":89,"58":89,"59":567,"60":89,"61":567,"62":89,"63":89,"64":28,"65":61,"66":47,"67":31,"68":31,"69":31,"70":11,"71":11,"72":11,"73":17,"74":36,"75":36,"76":17,"77":17,"78":17,"79":1,"80":16,"81":16,"82":18,"83":18,"84":8,"85":13,"86":13,"87":13,"88":130,"89":130,"90":130,"91":42,"92":130,"93":83,"94":130,"95":130,"96":130,"97":130,"98":46,"99":4,"100":4,"101":42,"102":12,"103":4,"104":8,"105":8,"106":30,"107":30,"108":30,"109":30,"110":30,"111":34,"112":34,"113":34,"114":25,"115":25,"116":3},"f":{"0":55,"1":6,"2":25,"3":41,"4":190,"5":102,"6":3,"7":86,"8":89,"9":567,"10":567,"11":47,"12":17,"13":17,"14":18,"15":8,"16":130,"17":46,"18":30,"19":34},"b":{"0":[3],"1":[26,29],"2":[55,55],"3":[6,49],"4":[1,5],"5":[6,6],"6":[2,4],"7":[6,6],"8":[25],"9":[1],"10":[41,14],"11":[1,13],"12":[14,14],"13":[33,7],"14":[40,40],"15":[1,39],"16":[40,40],"17":[11,29],"18":[40,40],"19":[1,39],"20":[40,40],"21":[17,23],"22":[40,40],"23":[1,39],"24":[40,40],"25":[3,37],"26":[40,40],"27":[1,39],"28":[40,40],"29":[13,27],"30":[12],"31":[26],"32":[28],"33":[89,61],"34":[31],"35":[31,20],"36":[11],"37":[31,31],"38":[16,1],"39":[17,17],"40":[1,16],"41":[17,17],"42":[1],"43":[17,16],"44":[13,3],"45":[16,16],"46":[13],"47":[18,16],"48":[42],"49":[83],"50":[4],"51":[46,4],"52":[12],"53":[4],"54":[12,10],"55":[30],"56":[10,20]}}
{"/app/src/di/src/di.ts": {"path":"/app/src/di/src/di.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":26}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":38}},"2":{"start":{"line":11,"column":0},"end":{"line":11,"column":42}},"3":{"start":{"line":33,"column":4},"end":{"line":34,"column":32}},"4":{"start":{"line":34,"column":6},"end":{"line":34,"column":32}},"5":{"start":{"line":36,"column":4},"end":{"line":40,"column":44}},"6":{"start":{"line":37,"column":22},"end":{"line":37,"column":62}},"7":{"start":{"line":38,"column":6},"end":{"line":38,"column":48}},"8":{"start":{"line":39,"column":11},"end":{"line":40,"column":44}},"9":{"start":{"line":40,"column":6},"end":{"line":40,"column":44}},"10":{"start":{"line":42,"column":4},"end":{"line":42,"column":25}},"11":{"start":{"line":51,"column":21},"end":{"line":51,"column":37}},"12":{"start":{"line":52,"column":12},"end":{"line":52,"column":37}},"13":{"start":{"line":24,"column":19},"end":{"line":24,"column":50}},"14":{"start":{"line":54,"column":4},"end":{"line":54,"column":36}},"15":{"start":{"line":55,"column":4},"end":{"line":57,"column":7}},"16":{"start":{"line":56,"column":21},"end":{"line":56,"column":37}},"17":{"start":{"line":58,"column":4},"end":{"line":60,"column":7}},"18":{"start":{"line":59,"column":21},"end":{"line":59,"column":33}},"19":{"start":{"line":69,"column":4},"end":{"line":69,"column":54}},"20":{"start":{"line":70,"column":4},"end":{"line":70,"column":29}},"21":{"start":{"line":81,"column":4},"end":{"line":113,"column":5}},"22":{"start":{"line":82,"column":6},"end":{"line":82,"column":90}},"23":{"start":{"line":84,"column":21},"end":{"line":84,"column":38}},"24":{"start":{"line":85,"column":21},"end":{"line":85,"column":66}},"25":{"start":{"line":85,"column":47},"end":{"line":85,"column":65}},"26":{"start":{"line":87,"column":6},"end":{"line":87,"column":71}},"27":{"start":{"line":89,"column":6},"end":{"line":90,"column":79}},"28":{"start":{"line":90,"column":8},"end":{"line":90,"column":79}},"29":{"start":{"line":92,"column":22},"end":{"line":100,"column":8}},"30":{"start":{"line":102,"column":6},"end":{"line":102,"column":62}},"31":{"start":{"line":104,"column":6},"end":{"line":107,"column":38}},"32":{"start":{"line":105,"column":8},"end":{"line":105,"column":86}},"33":{"start":{"line":105,"column":55},"end":{"line":105,"column":73}},"34":{"start":{"line":107,"column":8},"end":{"line":107,"column":38}},"35":{"start":{"line":109,"column":6},"end":{"line":109,"column":67}},"36":{"start":{"line":111,"column":6},"end":{"line":111,"column":87}},"37":{"start":{"line":112,"column":6},"end":{"line":112,"column":15}},"38":{"start":{"line":123,"column":4},"end":{"line":131,"column":5}},"39":{"start":{"line":124,"column":6},"end":{"line":124,"column":74}},"40":{"start":{"line":125,"column":23},"end":{"line":125,"column":46}},"41":{"start":{"line":126,"column":6},"end":{"line":126,"column":65}},"42":{"start":{"line":127,"column":6},"end":{"line":127,"column":82}},"43":{"start":{"line":129,"column":6},"end":{"line":129,"column":73}},"44":{"start":{"line":130,"column":6},"end":{"line":130,"column":15}},"45":{"start":{"line":142,"column":4},"end":{"line":165,"column":5}},"46":{"start":{"line":143,"column":6},"end":{"line":143,"column":54}},"47":{"start":{"line":145,"column":23},"end":{"line":145,"column":46}},"48":{"start":{"line":147,"column":6},"end":{"line":150,"column":7}},"49":{"start":{"line":148,"column":8},"end":{"line":148,"column":56}},"50":{"start":{"line":149,"column":8},"end":{"line":149,"column":33}},"51":{"start":{"line":152,"column":24},"end":{"line":152,"column":60}},"52":{"start":{"line":154,"column":6},"end":{"line":158,"column":7}},"53":{"start":{"line":155,"column":8},"end":{"line":155,"column":67}},"54":{"start":{"line":156,"column":8},"end":{"line":156,"column":56}},"55":{"start":{"line":157,"column":8},"end":{"line":157,"column":33}},"56":{"start":{"line":160,"column":6},"end":{"line":160,"column":58}},"57":{"start":{"line":161,"column":6},"end":{"line":161,"column":52}},"58":{"start":{"line":163,"column":6},"end":{"line":163,"column":73}},"59":{"start":{"line":164,"column":6},"end":{"line":164,"column":15}},"60":{"start":{"line":176,"column":19},"end":{"line":176,"column":36}},"61":{"start":{"line":178,"column":4},"end":{"line":178,"column":56}},"62":{"start":{"line":180,"column":21},"end":{"line":180,"column":66}},"63":{"start":{"line":180,"column":47},"end":{"line":180,"column":65}},"64":{"start":{"line":181,"column":18},"end":{"line":181,"column":68}},"65":{"start":{"line":181,"column":49},"end":{"line":181,"column":67}},"66":{"start":{"line":183,"column":4},"end":{"line":183,"column":69}},"67":{"start":{"line":185,"column":4},"end":{"line":187,"column":5}},"68":{"start":{"line":186,"column":6},"end":{"line":186,"column":64}},"69":{"start":{"line":189,"column":4},"end":{"line":189,"column":20}},"70":{"start":{"line":199,"column":4},"end":{"line":207,"column":5}},"71":{"start":{"line":200,"column":6},"end":{"line":200,"column":72}},"72":{"start":{"line":201,"column":31},"end":{"line":201,"column":91}},"73":{"start":{"line":202,"column":6},"end":{"line":206,"column":7}},"74":{"start":{"line":203,"column":8},"end":{"line":203,"column":86}},"75":{"start":{"line":204,"column":34},"end":{"line":204,"column":36}},"76":{"start":{"line":205,"column":8},"end":{"line":205,"column":103}},"77":{"start":{"line":205,"column":48},"end":{"line":205,"column":101}},"78":{"start":{"line":208,"column":4},"end":{"line":208,"column":48}},"79":{"start":{"line":209,"column":4},"end":{"line":209,"column":14}},"80":{"start":{"line":221,"column":17},"end":{"line":221,"column":53}},"81":{"start":{"line":223,"column":4},"end":{"line":223,"column":78}},"82":{"start":{"line":225,"column":4},"end":{"line":226,"column":92}},"83":{"start":{"line":226,"column":6},"end":{"line":226,"column":92}},"84":{"start":{"line":228,"column":4},"end":{"line":228,"column":59}},"85":{"start":{"line":230,"column":4},"end":{"line":237,"column":25}},"86":{"start":{"line":231,"column":22},"end":{"line":231,"column":53}},"87":{"start":{"line":232,"column":6},"end":{"line":236,"column":7}},"88":{"start":{"line":232,"column":48},"end":{"line":232,"column":66}},"89":{"start":{"line":233,"column":8},"end":{"line":233,"column":36}},"90":{"start":{"line":234,"column":8},"end":{"line":234,"column":88}},"91":{"start":{"line":235,"column":8},"end":{"line":235,"column":24}},"92":{"start":{"line":247,"column":4},"end":{"line":247,"column":61}},"93":{"start":{"line":249,"column":15},"end":{"line":249,"column":34}},"94":{"start":{"line":250,"column":4},"end":{"line":251,"column":37}},"95":{"start":{"line":251,"column":6},"end":{"line":251,"column":37}},"96":{"start":{"line":253,"column":4},"end":{"line":254,"column":42}},"97":{"start":{"line":254,"column":6},"end":{"line":254,"column":42}},"98":{"start":{"line":256,"column":4},"end":{"line":256,"column":54}},"99":{"start":{"line":258,"column":19},"end":{"line":258,"column":64}},"100":{"start":{"line":260,"column":4},"end":{"line":260,"column":77}},"101":{"start":{"line":262,"column":4},"end":{"line":262,"column":18}},"102":{"start":{"line":273,"column":4},"end":{"line":276,"column":5}},"103":{"start":{"line":274,"column":6},"end":{"line":274,"column":57}},"104":{"start":{"line":275,"column":6},"end":{"line":275,"column":32}},"105":{"start":{"line":278,"column":4},"end":{"line":285,"column":5}},"106":{"start":{"line":280,"column":6},"end":{"line":281,"column":74}},"107":{"start":{"line":281,"column":8},"end":{"line":281,"column":74}},"108":{"start":{"line":283,"column":6},"end":{"line":283,"column":75}},"109":{"start":{"line":284,"column":6},"end":{"line":284,"column":28}},"110":{"start":{"line":287,"column":4},"end":{"line":290,"column":5}},"111":{"start":{"line":288,"column":6},"end":{"line":288,"column":104}},"112":{"start":{"line":289,"column":6},"end":{"line":289,"column":105}},"113":{"start":{"line":300,"column":4},"end":{"line":300,"column":72}},"114":{"start":{"line":301,"column":4},"end":{"line":309,"column":7}},"115":{"start":{"line":302,"column":6},"end":{"line":308,"column":7}},"116":{"start":{"line":303,"column":8},"end":{"line":303,"column":57}},"117":{"start":{"line":304,"column":8},"end":{"line":304,"column":34}},"118":{"start":{"line":306,"column":8},"end":{"line":306,"column":69}},"119":{"start":{"line":307,"column":8},"end":{"line":307,"column":24}},"120":{"start":{"line":14,"column":0},"end":{"line":14,"column":13}}},"fnMap":{"0":{"name":"(anonymous_6)","decl":{"start":{"line":32,"column":2},"end":{"line":32,"column":8}},"loc":{"start":{"line":32,"column":46},"end":{"line":43,"column":3}}},"1":{"name":"(anonymous_7)","decl":{"start":{"line":50,"column":2},"end":{"line":50,"column":null}},"loc":{"start":{"line":52,"column":37},"end":{"line":61,"column":3}}},"2":{"name":"(anonymous_8)","decl":{"start":{"line":56,"column":15},"end":{"line":56,"column":18}},"loc":{"start":{"line":56,"column":21},"end":{"line":56,"column":37}}},"3":{"name":"(anonymous_9)","decl":{"start":{"line":59,"column":15},"end":{"line":59,"column":18}},"loc":{"start":{"line":59,"column":21},"end":{"line":59,"column":33}}},"4":{"name":"(anonymous_10)","decl":{"start":{"line":68,"column":9},"end":{"line":68,"column":22}},"loc":{"start":{"line":68,"column":47},"end":{"line":71,"column":3}}},"5":{"name":"(anonymous_11)","decl":{"start":{"line":79,"column":9},"end":{"line":79,"column":17}},"loc":{"start":{"line":79,"column":72},"end":{"line":114,"column":3}}},"6":{"name":"(anonymous_12)","decl":{"start":{"line":85,"column":42},"end":{"line":85,"column":43}},"loc":{"start":{"line":85,"column":47},"end":{"line":85,"column":65}}},"7":{"name":"(anonymous_13)","decl":{"start":{"line":105,"column":50},"end":{"line":105,"column":51}},"loc":{"start":{"line":105,"column":55},"end":{"line":105,"column":73}}},"8":{"name":"(anonymous_14)","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":17}},"loc":{"start":{"line":122,"column":65},"end":{"line":132,"column":3}}},"9":{"name":"(anonymous_15)","decl":{"start":{"line":140,"column":9},"end":{"line":140,"column":12}},"loc":{"start":{"line":140,"column":45},"end":{"line":166,"column":3}}},"10":{"name":"(anonymous_16)","decl":{"start":{"line":174,"column":10},"end":{"line":174,"column":23}},"loc":{"start":{"line":174,"column":56},"end":{"line":190,"column":3}}},"11":{"name":"(anonymous_17)","decl":{"start":{"line":180,"column":42},"end":{"line":180,"column":43}},"loc":{"start":{"line":180,"column":47},"end":{"line":180,"column":65}}},"12":{"name":"(anonymous_18)","decl":{"start":{"line":181,"column":44},"end":{"line":181,"column":45}},"loc":{"start":{"line":181,"column":49},"end":{"line":181,"column":67}}},"13":{"name":"(anonymous_19)","decl":{"start":{"line":198,"column":10},"end":{"line":198,"column":31}},"loc":{"start":{"line":198,"column":53},"end":{"line":210,"column":3}}},"14":{"name":"(anonymous_20)","decl":{"start":{"line":205,"column":36},"end":{"line":205,"column":44}},"loc":{"start":{"line":205,"column":48},"end":{"line":205,"column":101}}},"15":{"name":"(anonymous_21)","decl":{"start":{"line":220,"column":10},"end":{"line":220,"column":29}},"loc":{"start":{"line":220,"column":85},"end":{"line":238,"column":3}}},"16":{"name":"(anonymous_22)","decl":{"start":{"line":230,"column":35},"end":{"line":230,"column":36}},"loc":{"start":{"line":230,"column":55},"end":{"line":237,"column":5}}},"17":{"name":"(anonymous_23)","decl":{"start":{"line":232,"column":43},"end":{"line":232,"column":44}},"loc":{"start":{"line":232,"column":48},"end":{"line":232,"column":66}}},"18":{"name":"(anonymous_24)","decl":{"start":{"line":246,"column":10},"end":{"line":246,"column":17}},"loc":{"start":{"line":246,"column":50},"end":{"line":263,"column":3}}},"19":{"name":"(anonymous_25)","decl":{"start":{"line":272,"column":10},"end":{"line":272,"column":22}},"loc":{"start":{"line":272,"column":63},"end":{"line":291,"column":3}}},"20":{"name":"(anonymous_26)","decl":{"start":{"line":299,"column":10},"end":{"line":299,"column":20}},"loc":{"start":{"line":299,"column":37},"end":{"line":310,"column":3}}},"21":{"name":"(anonymous_27)","decl":{"start":{"line":301,"column":25},"end":{"line":301,"column":33}},"loc":{"start":{"line":301,"column":36},"end":{"line":309,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":4},"end":{"line":34,"column":32}},"type":"if","locations":[{"start":{"line":33,"column":4},"end":{"line":34,"column":32}}]},"1":{"loc":{"start":{"line":33,"column":8},"end":{"line":33,"column":32}},"type":"cond-expr","locations":[{"start":{"line":33,"column":16},"end":{"line":33,"column":18}},{"start":{"line":33,"column":8},"end":{"line":33,"column":32}}]},"2":{"loc":{"start":{"line":33,"column":8},"end":{"line":33,"column":18}},"type":"binary-expr","locations":[{"start":{"line":33,"column":8},"end":{"line":33,"column":18}},{"start":{"line":33,"column":8},"end":{"line":33,"column":18}}]},"3":{"loc":{"start":{"line":36,"column":4},"end":{"line":40,"column":44}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":40,"column":44}},{"start":{"line":39,"column":11},"end":{"line":40,"column":44}}]},"4":{"loc":{"start":{"line":37,"column":22},"end":{"line":37,"column":62}},"type":"cond-expr","locations":[{"start":{"line":37,"column":38},"end":{"line":37,"column":42}},{"start":{"line":37,"column":42},"end":{"line":37,"column":62}}]},"5":{"loc":{"start":{"line":37,"column":22},"end":{"line":37,"column":42}},"type":"binary-expr","locations":[{"start":{"line":37,"column":22},"end":{"line":37,"column":42}},{"start":{"line":37,"column":38},"end":{"line":37,"column":42}}]},"6":{"loc":{"start":{"line":37,"column":22},"end":{"line":37,"column":38}},"type":"cond-expr","locations":[{"start":{"line":37,"column":30},"end":{"line":37,"column":32}},{"start":{"line":37,"column":22},"end":{"line":37,"column":38}}]},"7":{"loc":{"start":{"line":37,"column":22},"end":{"line":37,"column":32}},"type":"binary-expr","locations":[{"start":{"line":37,"column":22},"end":{"line":37,"column":32}},{"start":{"line":37,"column":22},"end":{"line":37,"column":32}}]},"8":{"loc":{"start":{"line":39,"column":11},"end":{"line":40,"column":44}},"type":"if","locations":[{"start":{"line":39,"column":11},"end":{"line":40,"column":44}}]},"9":{"loc":{"start":{"line":89,"column":6},"end":{"line":90,"column":79}},"type":"if","locations":[{"start":{"line":89,"column":6},"end":{"line":90,"column":79}}]},"10":{"loc":{"start":{"line":89,"column":10},"end":{"line":89,"column":null}},"type":"binary-expr","locations":[{"start":{"line":89,"column":10},"end":{"line":89,"column":16}},{"start":{"line":89,"column":20},"end":{"line":89,"column":53}}]},"11":{"loc":{"start":{"line":89,"column":20},"end":{"line":89,"column":53}},"type":"cond-expr","locations":[{"start":{"line":89,"column":33},"end":{"line":89,"column":35}},{"start":{"line":89,"column":33},"end":{"line":89,"column":53}}]},"12":{"loc":{"start":{"line":89,"column":20},"end":{"line":89,"column":35}},"type":"binary-expr","locations":[{"start":{"line":89,"column":20},"end":{"line":89,"column":35}},{"start":{"line":89,"column":33},"end":{"line":89,"column":35}}]},"13":{"loc":{"start":{"line":95,"column":19},"end":{"line":95,"column":45}},"type":"cond-expr","locations":[{"start":{"line":95,"column":37},"end":{"line":95,"column":41}},{"start":{"line":95,"column":41},"end":{"line":95,"column":45}}]},"14":{"loc":{"start":{"line":95,"column":19},"end":{"line":95,"column":41}},"type":"binary-expr","locations":[{"start":{"line":95,"column":19},"end":{"line":95,"column":41}},{"start":{"line":95,"column":37},"end":{"line":95,"column":41}}]},"15":{"loc":{"start":{"line":95,"column":19},"end":{"line":95,"column":37}},"type":"cond-expr","locations":[{"start":{"line":95,"column":26},"end":{"line":95,"column":28}},{"start":{"line":95,"column":19},"end":{"line":95,"column":37}}]},"16":{"loc":{"start":{"line":95,"column":19},"end":{"line":95,"column":28}},"type":"binary-expr","locations":[{"start":{"line":95,"column":19},"end":{"line":95,"column":28}},{"start":{"line":95,"column":19},"end":{"line":95,"column":28}}]},"17":{"loc":{"start":{"line":97,"column":15},"end":{"line":97,"column":42}},"type":"cond-expr","locations":[{"start":{"line":97,"column":29},"end":{"line":97,"column":33}},{"start":{"line":97,"column":33},"end":{"line":97,"column":42}}]},"18":{"loc":{"start":{"line":97,"column":15},"end":{"line":97,"column":33}},"type":"binary-expr","locations":[{"start":{"line":97,"column":15},"end":{"line":97,"column":33}},{"start":{"line":97,"column":29},"end":{"line":97,"column":33}}]},"19":{"loc":{"start":{"line":97,"column":15},"end":{"line":97,"column":29}},"type":"cond-expr","locations":[{"start":{"line":97,"column":22},"end":{"line":97,"column":24}},{"start":{"line":97,"column":15},"end":{"line":97,"column":29}}]},"20":{"loc":{"start":{"line":97,"column":15},"end":{"line":97,"column":24}},"type":"binary-expr","locations":[{"start":{"line":97,"column":15},"end":{"line":97,"column":24}},{"start":{"line":97,"column":15},"end":{"line":97,"column":24}}]},"21":{"loc":{"start":{"line":98,"column":19},"end":{"line":98,"column":43}},"type":"cond-expr","locations":[{"start":{"line":98,"column":37},"end":{"line":98,"column":41}},{"start":{"line":98,"column":41},"end":{"line":98,"column":43}}]},"22":{"loc":{"start":{"line":98,"column":19},"end":{"line":98,"column":41}},"type":"binary-expr","locations":[{"start":{"line":98,"column":19},"end":{"line":98,"column":41}},{"start":{"line":98,"column":37},"end":{"line":98,"column":41}}]},"23":{"loc":{"start":{"line":98,"column":19},"end":{"line":98,"column":37}},"type":"cond-expr","locations":[{"start":{"line":98,"column":26},"end":{"line":98,"column":28}},{"start":{"line":98,"column":19},"end":{"line":98,"column":37}}]},"24":{"loc":{"start":{"line":98,"column":19},"end":{"line":98,"column":28}},"type":"binary-expr","locations":[{"start":{"line":98,"column":19},"end":{"line":98,"column":28}},{"start":{"line":98,"column":19},"end":{"line":98,"column":28}}]},"25":{"loc":{"start":{"line":99,"column":17},"end":{"line":99,"column":46}},"type":"cond-expr","locations":[{"start":{"line":99,"column":33},"end":{"line":99,"column":37}},{"start":{"line":99,"column":37},"end":{"line":99,"column":46}}]},"26":{"loc":{"start":{"line":99,"column":17},"end":{"line":99,"column":37}},"type":"binary-expr","locations":[{"start":{"line":99,"column":17},"end":{"line":99,"column":37}},{"start":{"line":99,"column":33},"end":{"line":99,"column":37}}]},"27":{"loc":{"start":{"line":99,"column":17},"end":{"line":99,"column":33}},"type":"cond-expr","locations":[{"start":{"line":99,"column":24},"end":{"line":99,"column":26}},{"start":{"line":99,"column":17},"end":{"line":99,"column":33}}]},"28":{"loc":{"start":{"line":99,"column":17},"end":{"line":99,"column":26}},"type":"binary-expr","locations":[{"start":{"line":99,"column":17},"end":{"line":99,"column":26}},{"start":{"line":99,"column":17},"end":{"line":99,"column":26}}]},"29":{"loc":{"start":{"line":104,"column":6},"end":{"line":107,"column":38}},"type":"if","locations":[{"start":{"line":104,"column":6},"end":{"line":107,"column":38}},{"start":{"line":107,"column":8},"end":{"line":107,"column":38}}]},"30":{"loc":{"start":{"line":147,"column":6},"end":{"line":150,"column":7}},"type":"if","locations":[{"start":{"line":147,"column":6},"end":{"line":150,"column":7}}]},"31":{"loc":{"start":{"line":154,"column":6},"end":{"line":158,"column":7}},"type":"if","locations":[{"start":{"line":154,"column":6},"end":{"line":158,"column":7}}]},"32":{"loc":{"start":{"line":185,"column":4},"end":{"line":187,"column":5}},"type":"if","locations":[{"start":{"line":185,"column":4},"end":{"line":187,"column":5}}]},"33":{"loc":{"start":{"line":185,"column":8},"end":{"line":185,"column":30}},"type":"binary-expr","locations":[{"start":{"line":185,"column":8},"end":{"line":185,"column":17}},{"start":{"line":185,"column":21},"end":{"line":185,"column":30}}]},"34":{"loc":{"start":{"line":199,"column":4},"end":{"line":207,"column":5}},"type":"if","locations":[{"start":{"line":199,"column":4},"end":{"line":207,"column":5}}]},"35":{"loc":{"start":{"line":201,"column":31},"end":{"line":201,"column":91}},"type":"binary-expr","locations":[{"start":{"line":201,"column":31},"end":{"line":201,"column":85}},{"start":{"line":201,"column":89},"end":{"line":201,"column":91}}]},"36":{"loc":{"start":{"line":202,"column":6},"end":{"line":206,"column":7}},"type":"if","locations":[{"start":{"line":202,"column":6},"end":{"line":206,"column":7}}]},"37":{"loc":{"start":{"line":202,"column":10},"end":{"line":202,"column":57}},"type":"binary-expr","locations":[{"start":{"line":202,"column":10},"end":{"line":202,"column":26}},{"start":{"line":202,"column":30},"end":{"line":202,"column":57}}]},"38":{"loc":{"start":{"line":221,"column":18},"end":{"line":221,"column":38}},"type":"cond-expr","locations":[{"start":{"line":221,"column":32},"end":{"line":221,"column":36}},{"start":{"line":221,"column":36},"end":{"line":221,"column":38}}]},"39":{"loc":{"start":{"line":221,"column":18},"end":{"line":221,"column":36}},"type":"binary-expr","locations":[{"start":{"line":221,"column":18},"end":{"line":221,"column":36}},{"start":{"line":221,"column":32},"end":{"line":221,"column":36}}]},"40":{"loc":{"start":{"line":221,"column":18},"end":{"line":221,"column":32}},"type":"cond-expr","locations":[{"start":{"line":221,"column":26},"end":{"line":221,"column":28}},{"start":{"line":221,"column":18},"end":{"line":221,"column":32}}]},"41":{"loc":{"start":{"line":221,"column":18},"end":{"line":221,"column":28}},"type":"binary-expr","locations":[{"start":{"line":221,"column":18},"end":{"line":221,"column":28}},{"start":{"line":221,"column":18},"end":{"line":221,"column":28}}]},"42":{"loc":{"start":{"line":225,"column":4},"end":{"line":226,"column":92}},"type":"if","locations":[{"start":{"line":225,"column":4},"end":{"line":226,"column":92}}]},"43":{"loc":{"start":{"line":225,"column":8},"end":{"line":225,"column":27}},"type":"binary-expr","locations":[{"start":{"line":225,"column":8},"end":{"line":225,"column":13}},{"start":{"line":225,"column":17},"end":{"line":225,"column":27}}]},"44":{"loc":{"start":{"line":230,"column":11},"end":{"line":237,"column":24}},"type":"cond-expr","locations":[{"start":{"line":237,"column":6},"end":{"line":237,"column":10}},{"start":{"line":237,"column":10},"end":{"line":237,"column":24}}]},"45":{"loc":{"start":{"line":230,"column":11},"end":{"line":237,"column":10}},"type":"binary-expr","locations":[{"start":{"line":230,"column":11},"end":{"line":237,"column":10}},{"start":{"line":237,"column":6},"end":{"line":237,"column":10}}]},"46":{"loc":{"start":{"line":232,"column":6},"end":{"line":236,"column":7}},"type":"if","locations":[{"start":{"line":232,"column":6},"end":{"line":236,"column":7}}]},"47":{"loc":{"start":{"line":232,"column":10},"end":{"line":232,"column":67}},"type":"binary-expr","locations":[{"start":{"line":232,"column":10},"end":{"line":232,"column":25}},{"start":{"line":232,"column":29},"end":{"line":232,"column":67}}]},"48":{"loc":{"start":{"line":250,"column":4},"end":{"line":251,"column":37}},"type":"if","locations":[{"start":{"line":250,"column":4},"end":{"line":251,"column":37}}]},"49":{"loc":{"start":{"line":253,"column":4},"end":{"line":254,"column":42}},"type":"if","locations":[{"start":{"line":253,"column":4},"end":{"line":254,"column":42}}]},"50":{"loc":{"start":{"line":273,"column":4},"end":{"line":276,"column":5}},"type":"if","locations":[{"start":{"line":273,"column":4},"end":{"line":276,"column":5}}]},"51":{"loc":{"start":{"line":273,"column":8},"end":{"line":273,"column":65}},"type":"binary-expr","locations":[{"start":{"line":273,"column":8},"end":{"line":273,"column":24}},{"start":{"line":273,"column":28},"end":{"line":273,"column":65}}]},"52":{"loc":{"start":{"line":278,"column":4},"end":{"line":285,"column":5}},"type":"if","locations":[{"start":{"line":278,"column":4},"end":{"line":285,"column":5}}]},"53":{"loc":{"start":{"line":280,"column":6},"end":{"line":281,"column":74}},"type":"if","locations":[{"start":{"line":280,"column":6},"end":{"line":281,"column":74}}]},"54":{"loc":{"start":{"line":280,"column":10},"end":{"line":280,"column":61}},"type":"binary-expr","locations":[{"start":{"line":280,"column":10},"end":{"line":280,"column":37}},{"start":{"line":280,"column":41},"end":{"line":280,"column":61}}]},"55":{"loc":{"start":{"line":287,"column":4},"end":{"line":290,"column":5}},"type":"if","locations":[{"start":{"line":287,"column":4},"end":{"line":290,"column":5}}]},"56":{"loc":{"start":{"line":289,"column":49},"end":{"line":289,"column":102}},"type":"cond-expr","locations":[{"start":{"line":289,"column":72},"end":{"line":289,"column":81}},{"start":{"line":289,"column":84},"end":{"line":289,"column":102}}]}},"s":{"0":3,"1":3,"2":3,"3":57,"4":3,"5":57,"6":6,"7":6,"8":51,"9":26,"10":57,"11":6,"12":6,"13":6,"14":6,"15":6,"16":1,"17":6,"18":0,"19":26,"20":26,"21":53,"22":53,"23":53,"24":53,"25":278,"26":53,"27":53,"28":1,"29":52,"30":52,"31":52,"32":13,"33":128,"34":39,"35":52,"36":1,"37":1,"38":3,"39":3,"40":3,"41":2,"42":2,"43":1,"44":1,"45":87,"46":87,"47":87,"48":60,"49":12,"50":12,"51":48,"52":47,"53":27,"54":25,"55":25,"56":20,"57":20,"58":32,"59":32,"60":90,"61":90,"62":90,"63":746,"64":90,"65":746,"66":90,"67":90,"68":28,"69":62,"70":48,"71":32,"72":32,"73":32,"74":11,"75":11,"76":11,"77":17,"78":37,"79":37,"80":17,"81":17,"82":17,"83":1,"84":16,"85":16,"86":18,"87":18,"88":8,"89":13,"90":13,"91":13,"92":143,"93":143,"94":143,"95":42,"96":143,"97":96,"98":143,"99":143,"100":143,"101":143,"102":47,"103":5,"104":5,"105":42,"106":12,"107":4,"108":8,"109":8,"110":30,"111":30,"112":30,"113":30,"114":30,"115":34,"116":34,"117":34,"118":25,"119":25,"120":3},"f":{"0":57,"1":6,"2":1,"3":0,"4":26,"5":53,"6":278,"7":128,"8":3,"9":87,"10":90,"11":746,"12":746,"13":48,"14":17,"15":17,"16":18,"17":8,"18":143,"19":47,"20":30,"21":34},"b":{"0":[3],"1":[27,30],"2":[57,57],"3":[6,51],"4":[1,5],"5":[6,6],"6":[2,4],"7":[6,6],"8":[26],"9":[1],"10":[53,14],"11":[1,13],"12":[14,14],"13":[33,19],"14":[52,52],"15":[1,51],"16":[52,52],"17":[11,41],"18":[52,52],"19":[1,51],"20":[52,52],"21":[17,35],"22":[52,52],"23":[1,51],"24":[52,52],"25":[15,37],"26":[52,52],"27":[1,51],"28":[52,52],"29":[13,39],"30":[12],"31":[27],"32":[28],"33":[90,62],"34":[32],"35":[32,21],"36":[11],"37":[32,32],"38":[16,1],"39":[17,17],"40":[1,16],"41":[17,17],"42":[1],"43":[17,16],"44":[13,3],"45":[16,16],"46":[13],"47":[18,16],"48":[42],"49":[96],"50":[5],"51":[47,5],"52":[12],"53":[4],"54":[12,10],"55":[30],"56":[10,20]}}
,"/app/src/di/src/index.ts": {"path":"/app/src/di/src/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":21}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":24}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":28}}},"fnMap":{},"branchMap":{},"s":{"0":3,"1":3,"2":3},"f":{},"b":{}}

@@ -3,0 +3,0 @@ ,"/app/src/di/src/inject.ts": {"path":"/app/src/di/src/inject.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":23}},"1":{"start":{"line":6,"column":2},"end":{"line":12,"column":4}},"2":{"start":{"line":7,"column":4},"end":{"line":11,"column":7}},"3":{"start":{"line":8,"column":19},"end":{"line":8,"column":44}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":16}}},"fnMap":{"0":{"name":"Inject","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":22}},"loc":{"start":{"line":5,"column":55},"end":{"line":13,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":19}},"loc":{"start":{"line":6,"column":48},"end":{"line":12,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":13},"end":{"line":8,"column":16}},"loc":{"start":{"line":8,"column":19},"end":{"line":8,"column":44}}}},"branchMap":{},"s":{"0":3,"1":2,"2":2,"3":4,"4":3},"f":{"0":2,"1":2,"2":4},"b":{}}

@@ -63,2 +63,8 @@ "use strict";

this._logger.addPrefix("[Di] ");
this.register(Di, {
factory: () => Di.getInstance()
});
this.register(logger_1.Logger, {
factory: () => this._logger
});
}

@@ -168,4 +174,5 @@ /**

this._logger.debug("Success find instance", { instance, index });
if (index < 0 || !instance)
if (index < 0 || !instance) {
throw new Error(`Instance not found [${key.toString()}]`);
}
return instance;

@@ -172,0 +179,0 @@ }

{
"name": "@zcodeapp/di",
"version": "0.2.5",
"version": "0.2.6",
"description": "Dependency Injection",

@@ -30,3 +30,3 @@ "main": "dist/index.js",

"homepage": "https://github.com/zcodeapp/msexpandable#readme",
"gitHead": "6daae602b38471757694a0a93540505f1e95004b",
"gitHead": "03a9de0a2ac0322de62e58cb8d935dd1aee7abdc",
"devDependencies": {

@@ -38,4 +38,4 @@ "@types/crypto-js": "^4.2.1",

"@typescript-eslint/parser": "^6.16.0",
"@zcodeapp/interfaces": "^0.3.2",
"@zcodeapp/utils": "^0.2.5",
"@zcodeapp/interfaces": "^0.4.0",
"@zcodeapp/utils": "^0.2.6",
"eslint": "^8.56.0",

@@ -47,3 +47,3 @@ "jest": "^29.7.0",

"dependencies": {
"@zcodeapp/logger": "^0.2.5",
"@zcodeapp/logger": "^0.2.6",
"crypto-js": "^4.2.0",

@@ -50,0 +50,0 @@ "lodash.clonedeep": "^4.5.0",