@biorate/config 1.65.4 → 1.90.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nyc_output/1f450655-e486-4cca-926c-cc66a2921e33.json +1 -0
- package/.nyc_output/319852e1-cffd-4bee-9b4b-0331f1f1bf22.json +1 -0
- package/.nyc_output/processinfo/1f450655-e486-4cca-926c-cc66a2921e33.json +1 -0
- package/.nyc_output/processinfo/319852e1-cffd-4bee-9b4b-0331f1f1bf22.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/CHANGELOG.md +12 -0
- package/README.md +1 -28
- package/coverage/lcov-report/config.ts.html +514 -0
- package/coverage/lcov-report/errors.ts.html +2 -2
- package/coverage/lcov-report/index.html +43 -13
- package/coverage/lcov-report/index.ts.html +10 -424
- package/coverage/lcov-report/template.ts.html +196 -0
- package/coverage/lcov.info +162 -67
- package/dist/src/config.js +70 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/index.js +2 -65
- package/dist/src/index.js.map +1 -1
- package/dist/src/template.js +41 -0
- package/dist/src/template.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/interfaces.ts +2 -0
- package/package.json +2 -2
- package/.nyc_output/5e50680b-ba17-4225-a78f-d19ba4a1f6bd.json +0 -1
- package/.nyc_output/processinfo/5e50680b-ba17-4225-a78f-d19ba4a1f6bd.json +0 -1
@@ -0,0 +1,196 @@
|
|
1
|
+
|
2
|
+
<!doctype html>
|
3
|
+
<html lang="en">
|
4
|
+
|
5
|
+
<head>
|
6
|
+
<title>Code coverage report for template.ts</title>
|
7
|
+
<meta charset="utf-8" />
|
8
|
+
<link rel="stylesheet" href="prettify.css" />
|
9
|
+
<link rel="stylesheet" href="base.css" />
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
12
|
+
<style type='text/css'>
|
13
|
+
.coverage-summary .sorter {
|
14
|
+
background-image: url(sort-arrow-sprite.png);
|
15
|
+
}
|
16
|
+
</style>
|
17
|
+
</head>
|
18
|
+
|
19
|
+
<body>
|
20
|
+
<div class='wrapper'>
|
21
|
+
<div class='pad1'>
|
22
|
+
<h1><a href="index.html">All files</a> template.ts</h1>
|
23
|
+
<div class='clearfix'>
|
24
|
+
|
25
|
+
<div class='fl pad1y space-right2'>
|
26
|
+
<span class="strong">84.61% </span>
|
27
|
+
<span class="quiet">Statements</span>
|
28
|
+
<span class='fraction'>22/26</span>
|
29
|
+
</div>
|
30
|
+
|
31
|
+
|
32
|
+
<div class='fl pad1y space-right2'>
|
33
|
+
<span class="strong">80.35% </span>
|
34
|
+
<span class="quiet">Branches</span>
|
35
|
+
<span class='fraction'>45/56</span>
|
36
|
+
</div>
|
37
|
+
|
38
|
+
|
39
|
+
<div class='fl pad1y space-right2'>
|
40
|
+
<span class="strong">100% </span>
|
41
|
+
<span class="quiet">Functions</span>
|
42
|
+
<span class='fraction'>4/4</span>
|
43
|
+
</div>
|
44
|
+
|
45
|
+
|
46
|
+
<div class='fl pad1y space-right2'>
|
47
|
+
<span class="strong">100% </span>
|
48
|
+
<span class="quiet">Lines</span>
|
49
|
+
<span class='fraction'>20/20</span>
|
50
|
+
</div>
|
51
|
+
|
52
|
+
|
53
|
+
</div>
|
54
|
+
<p class="quiet">
|
55
|
+
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.
|
56
|
+
</p>
|
57
|
+
<template id="filterTemplate">
|
58
|
+
<div class="quiet">
|
59
|
+
Filter:
|
60
|
+
<input type="search" id="fileSearch">
|
61
|
+
</div>
|
62
|
+
</template>
|
63
|
+
</div>
|
64
|
+
<div class='status-line high'></div>
|
65
|
+
<pre><table class="coverage">
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
104
|
+
<span class="cline-any cline-neutral"> </span>
|
105
|
+
<span class="cline-any cline-neutral"> </span>
|
106
|
+
<span class="cline-any cline-yes">1x</span>
|
107
|
+
<span class="cline-any cline-neutral"> </span>
|
108
|
+
<span class="cline-any cline-yes">14x</span>
|
109
|
+
<span class="cline-any cline-yes">14x</span>
|
110
|
+
<span class="cline-any cline-neutral"> </span>
|
111
|
+
<span class="cline-any cline-yes">14x</span>
|
112
|
+
<span class="cline-any cline-yes">2x</span>
|
113
|
+
<span class="cline-any cline-yes">2x</span>
|
114
|
+
<span class="cline-any cline-neutral"> </span>
|
115
|
+
<span class="cline-any cline-neutral"> </span>
|
116
|
+
<span class="cline-any cline-neutral"> </span>
|
117
|
+
<span class="cline-any cline-yes">14x</span>
|
118
|
+
<span class="cline-any cline-yes">14x</span>
|
119
|
+
<span class="cline-any cline-yes">14x</span>
|
120
|
+
<span class="cline-any cline-yes">14x</span>
|
121
|
+
<span class="cline-any cline-neutral"> </span>
|
122
|
+
<span class="cline-any cline-neutral"> </span>
|
123
|
+
<span class="cline-any cline-neutral"> </span>
|
124
|
+
<span class="cline-any cline-yes">14x</span>
|
125
|
+
<span class="cline-any cline-yes">14x</span>
|
126
|
+
<span class="cline-any cline-yes">14x</span>
|
127
|
+
<span class="cline-any cline-yes">14x</span>
|
128
|
+
<span class="cline-any cline-neutral"> </span>
|
129
|
+
<span class="cline-any cline-neutral"> </span>
|
130
|
+
<span class="cline-any cline-neutral"> </span>
|
131
|
+
<span class="cline-any cline-yes">14x</span>
|
132
|
+
<span class="cline-any cline-yes">14x</span>
|
133
|
+
<span class="cline-any cline-yes">14x</span>
|
134
|
+
<span class="cline-any cline-yes">14x</span>
|
135
|
+
<span class="cline-any cline-yes">2x</span>
|
136
|
+
<span class="cline-any cline-neutral"> </span>
|
137
|
+
<span class="cline-any cline-neutral"> </span>
|
138
|
+
<span class="cline-any cline-neutral"> </span>
|
139
|
+
<span class="cline-any cline-neutral"> </span>
|
140
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { Config } from './config';
|
141
|
+
import { IResult } from '../interfaces';
|
142
|
+
|
143
|
+
export class Template {
|
144
|
+
public static string(this: Config, value: string, result: IResult) {
|
145
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!Config.Template.string) <span class="cstat-no" title="statement not covered" >return;</span>
|
146
|
+
let regExp = /\${([^}{]+)+?}/g,
|
147
|
+
res;
|
148
|
+
while ((res = regExp.exec(value)))
|
149
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (this.has(res[1]))
|
150
|
+
result.value = (<string>result.value).replace(res[0], this.get(res[1]));
|
151
|
+
}
|
152
|
+
|
153
|
+
public static link(this: Config, value: string, result: IResult) {
|
154
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!Config.Template.link) <span class="cstat-no" title="statement not covered" >return;</span>
|
155
|
+
let regExp = /^#{([^}{]+)+?}$/g;
|
156
|
+
const match = regExp.exec(value)?.[1];
|
157
|
+
if (match) result.value = this.get(match);
|
158
|
+
}
|
159
|
+
|
160
|
+
public static regexp(this: Config, value: string, result: IResult) {
|
161
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!Config.Template.regexp) <span class="cstat-no" title="statement not covered" >return;</span>
|
162
|
+
let regExp = /^R\{\/([^\/]+)\/([^\/]+)\}$/g;
|
163
|
+
const match = regExp.exec(value);
|
164
|
+
if (match?.[1] && match<span class="branch-0 cbranch-no" title="branch not covered" >?.[2</span>]) result.value = new RegExp(match<span class="branch-0 cbranch-no" title="branch not covered" >?.[1</span>], match<span class="branch-0 cbranch-no" title="branch not covered" >?.[2</span>]);
|
165
|
+
}
|
166
|
+
|
167
|
+
public static function(this: Config, value: string, result: IResult) {
|
168
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!Config.Template.function) <span class="cstat-no" title="statement not covered" >return;</span>
|
169
|
+
let regExp = /^F\{([^=>]+) => ([^}]+)\}$/g;
|
170
|
+
const match = regExp.exec(value);
|
171
|
+
if (match?.[1] && match<span class="branch-0 cbranch-no" title="branch not covered" >?.[2</span>])
|
172
|
+
result.value = <() => unknown>(
|
173
|
+
new Function(...match<span class="branch-0 cbranch-no" title="branch not covered" >?.[1</span>].trim().split(/\s*,\s*/), match<span class="branch-0 cbranch-no" title="branch not covered" >?.[2</span>].trim()).bind({})
|
174
|
+
);
|
175
|
+
}
|
176
|
+
}
|
177
|
+
</pre></td></tr></table></pre>
|
178
|
+
|
179
|
+
<div class='push'></div><!-- for sticky footer -->
|
180
|
+
</div><!-- /wrapper -->
|
181
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
182
|
+
Code coverage generated by
|
183
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
184
|
+
at 2024-12-05T15:36:16.769Z
|
185
|
+
</div>
|
186
|
+
<script src="prettify.js"></script>
|
187
|
+
<script>
|
188
|
+
window.onload = function () {
|
189
|
+
prettyPrint();
|
190
|
+
};
|
191
|
+
</script>
|
192
|
+
<script src="sorter.js"></script>
|
193
|
+
<script src="block-navigation.js"></script>
|
194
|
+
</body>
|
195
|
+
</html>
|
196
|
+
|
package/coverage/lcov.info
CHANGED
@@ -1,4 +1,68 @@
|
|
1
1
|
TN:
|
2
|
+
SF:src/config.ts
|
3
|
+
FN:9,(anonymous_1)
|
4
|
+
FN:24,(anonymous_2)
|
5
|
+
FN:36,(anonymous_3)
|
6
|
+
FN:38,(anonymous_4)
|
7
|
+
FN:64,(anonymous_5)
|
8
|
+
FN:94,(anonymous_6)
|
9
|
+
FN:113,(anonymous_7)
|
10
|
+
FN:140,(anonymous_8)
|
11
|
+
FNF:8
|
12
|
+
FNH:8
|
13
|
+
FNDA:1,(anonymous_1)
|
14
|
+
FNDA:14,(anonymous_2)
|
15
|
+
FNDA:2,(anonymous_3)
|
16
|
+
FNDA:6,(anonymous_4)
|
17
|
+
FNDA:18,(anonymous_5)
|
18
|
+
FNDA:24,(anonymous_6)
|
19
|
+
FNDA:1,(anonymous_7)
|
20
|
+
FNDA:2,(anonymous_8)
|
21
|
+
DA:1,1
|
22
|
+
DA:2,1
|
23
|
+
DA:3,1
|
24
|
+
DA:4,1
|
25
|
+
DA:5,1
|
26
|
+
DA:9,1
|
27
|
+
DA:10,1
|
28
|
+
DA:19,1
|
29
|
+
DA:25,14
|
30
|
+
DA:26,14
|
31
|
+
DA:27,14
|
32
|
+
DA:28,14
|
33
|
+
DA:29,14
|
34
|
+
DA:30,14
|
35
|
+
DA:37,2
|
36
|
+
DA:38,2
|
37
|
+
DA:39,6
|
38
|
+
DA:65,18
|
39
|
+
DA:66,2
|
40
|
+
DA:67,1
|
41
|
+
DA:69,16
|
42
|
+
DA:70,16
|
43
|
+
DA:72,10
|
44
|
+
DA:74,2
|
45
|
+
DA:76,4
|
46
|
+
DA:95,24
|
47
|
+
DA:114,1
|
48
|
+
DA:141,2
|
49
|
+
LF:28
|
50
|
+
LH:28
|
51
|
+
BRDA:39,0,0,4
|
52
|
+
BRDA:39,0,1,2
|
53
|
+
BRDA:65,1,0,2
|
54
|
+
BRDA:65,1,1,16
|
55
|
+
BRDA:66,2,0,1
|
56
|
+
BRDA:66,2,1,1
|
57
|
+
BRDA:70,3,0,10
|
58
|
+
BRDA:70,3,1,2
|
59
|
+
BRDA:70,3,2,4
|
60
|
+
BRDA:74,4,0,2
|
61
|
+
BRDA:74,4,1,0
|
62
|
+
BRF:11
|
63
|
+
BRH:10
|
64
|
+
end_of_record
|
65
|
+
TN:
|
2
66
|
SF:src/errors.ts
|
3
67
|
FN:5,(anonymous_0)
|
4
68
|
FNF:1
|
@@ -14,75 +78,106 @@ BRH:0
|
|
14
78
|
end_of_record
|
15
79
|
TN:
|
16
80
|
SF:src/index.ts
|
17
|
-
|
18
|
-
|
19
|
-
FN:34,(anonymous_7)
|
20
|
-
FN:36,(anonymous_8)
|
21
|
-
FN:62,(anonymous_9)
|
22
|
-
FN:92,(anonymous_10)
|
23
|
-
FN:111,(anonymous_11)
|
24
|
-
FN:138,(anonymous_12)
|
25
|
-
FNF:8
|
26
|
-
FNH:8
|
27
|
-
FNDA:1,(anonymous_5)
|
28
|
-
FNDA:10,(anonymous_6)
|
29
|
-
FNDA:2,(anonymous_7)
|
30
|
-
FNDA:6,(anonymous_8)
|
31
|
-
FNDA:14,(anonymous_9)
|
32
|
-
FNDA:20,(anonymous_10)
|
33
|
-
FNDA:1,(anonymous_11)
|
34
|
-
FNDA:2,(anonymous_12)
|
81
|
+
FNF:0
|
82
|
+
FNH:0
|
35
83
|
DA:1,1
|
36
84
|
DA:2,1
|
37
85
|
DA:3,1
|
86
|
+
LF:3
|
87
|
+
LH:3
|
88
|
+
BRF:0
|
89
|
+
BRH:0
|
90
|
+
end_of_record
|
91
|
+
TN:
|
92
|
+
SF:src/template.ts
|
93
|
+
FN:5,(anonymous_0)
|
94
|
+
FN:14,(anonymous_1)
|
95
|
+
FN:21,(anonymous_2)
|
96
|
+
FN:28,(anonymous_3)
|
97
|
+
FNF:4
|
98
|
+
FNH:4
|
99
|
+
FNDA:14,(anonymous_0)
|
100
|
+
FNDA:14,(anonymous_1)
|
101
|
+
FNDA:14,(anonymous_2)
|
102
|
+
FNDA:14,(anonymous_3)
|
103
|
+
DA:1,1
|
38
104
|
DA:4,1
|
39
|
-
DA:6,
|
40
|
-
DA:7,
|
41
|
-
DA:
|
42
|
-
DA:
|
43
|
-
DA:
|
44
|
-
DA:
|
45
|
-
DA:
|
46
|
-
DA:
|
47
|
-
DA:
|
48
|
-
DA:
|
49
|
-
DA:
|
50
|
-
DA:
|
51
|
-
DA:
|
52
|
-
DA:
|
53
|
-
DA:
|
54
|
-
DA:
|
55
|
-
DA:
|
56
|
-
DA:
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
BRDA:
|
68
|
-
BRDA:
|
69
|
-
BRDA:
|
70
|
-
BRDA:
|
71
|
-
BRDA:
|
72
|
-
BRDA:
|
73
|
-
BRDA:
|
74
|
-
BRDA:
|
75
|
-
BRDA:
|
76
|
-
BRDA:
|
77
|
-
BRDA:
|
78
|
-
BRDA:
|
79
|
-
BRDA:
|
80
|
-
BRDA:
|
81
|
-
BRDA:
|
82
|
-
BRDA:
|
83
|
-
BRDA:
|
84
|
-
BRDA:
|
85
|
-
BRDA:
|
86
|
-
|
87
|
-
|
105
|
+
DA:6,14
|
106
|
+
DA:7,14
|
107
|
+
DA:9,14
|
108
|
+
DA:10,2
|
109
|
+
DA:11,2
|
110
|
+
DA:15,14
|
111
|
+
DA:16,14
|
112
|
+
DA:17,14
|
113
|
+
DA:18,14
|
114
|
+
DA:22,14
|
115
|
+
DA:23,14
|
116
|
+
DA:24,14
|
117
|
+
DA:25,14
|
118
|
+
DA:29,14
|
119
|
+
DA:30,14
|
120
|
+
DA:31,14
|
121
|
+
DA:32,14
|
122
|
+
DA:33,2
|
123
|
+
LF:20
|
124
|
+
LH:20
|
125
|
+
BRDA:6,0,0,0
|
126
|
+
BRDA:6,0,1,14
|
127
|
+
BRDA:10,1,0,2
|
128
|
+
BRDA:10,1,1,0
|
129
|
+
BRDA:15,2,0,0
|
130
|
+
BRDA:15,2,1,14
|
131
|
+
BRDA:17,3,0,13
|
132
|
+
BRDA:17,3,1,1
|
133
|
+
BRDA:17,4,0,14
|
134
|
+
BRDA:17,4,1,1
|
135
|
+
BRDA:18,5,0,1
|
136
|
+
BRDA:18,5,1,13
|
137
|
+
BRDA:22,6,0,0
|
138
|
+
BRDA:22,6,1,14
|
139
|
+
BRDA:25,7,0,2
|
140
|
+
BRDA:25,7,1,12
|
141
|
+
BRDA:25,8,0,14
|
142
|
+
BRDA:25,8,1,2
|
143
|
+
BRDA:25,9,0,12
|
144
|
+
BRDA:25,9,1,2
|
145
|
+
BRDA:25,10,0,14
|
146
|
+
BRDA:25,10,1,2
|
147
|
+
BRDA:25,11,0,0
|
148
|
+
BRDA:25,11,1,2
|
149
|
+
BRDA:25,12,0,2
|
150
|
+
BRDA:25,12,1,2
|
151
|
+
BRDA:25,13,0,0
|
152
|
+
BRDA:25,13,1,2
|
153
|
+
BRDA:25,14,0,2
|
154
|
+
BRDA:25,14,1,2
|
155
|
+
BRDA:25,15,0,0
|
156
|
+
BRDA:25,15,1,2
|
157
|
+
BRDA:25,16,0,2
|
158
|
+
BRDA:25,16,1,2
|
159
|
+
BRDA:29,17,0,0
|
160
|
+
BRDA:29,17,1,14
|
161
|
+
BRDA:32,18,0,2
|
162
|
+
BRDA:32,18,1,12
|
163
|
+
BRDA:32,19,0,14
|
164
|
+
BRDA:32,19,1,2
|
165
|
+
BRDA:32,20,0,12
|
166
|
+
BRDA:32,20,1,2
|
167
|
+
BRDA:32,21,0,14
|
168
|
+
BRDA:32,21,1,2
|
169
|
+
BRDA:32,22,0,0
|
170
|
+
BRDA:32,22,1,2
|
171
|
+
BRDA:32,23,0,2
|
172
|
+
BRDA:32,23,1,2
|
173
|
+
BRDA:34,24,0,0
|
174
|
+
BRDA:34,24,1,2
|
175
|
+
BRDA:34,25,0,2
|
176
|
+
BRDA:34,25,1,2
|
177
|
+
BRDA:34,26,0,0
|
178
|
+
BRDA:34,26,1,2
|
179
|
+
BRDA:34,27,0,2
|
180
|
+
BRDA:34,27,1,2
|
181
|
+
BRF:56
|
182
|
+
BRH:45
|
88
183
|
end_of_record
|
@@ -0,0 +1,70 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
7
|
+
};
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
9
|
+
exports.Config = void 0;
|
10
|
+
const inversion_1 = require("@biorate/inversion");
|
11
|
+
const lodash_1 = require("lodash");
|
12
|
+
const traverse = require("traverse");
|
13
|
+
const template_1 = require("./template");
|
14
|
+
const errors_1 = require("./errors");
|
15
|
+
let Config = class Config {
|
16
|
+
constructor() {
|
17
|
+
this.data = {};
|
18
|
+
}
|
19
|
+
template(value) {
|
20
|
+
const result = { value };
|
21
|
+
template_1.Template.string.call(this, value, result);
|
22
|
+
template_1.Template.link.call(this, value, result);
|
23
|
+
template_1.Template.regexp.call(this, value, result);
|
24
|
+
template_1.Template.function.call(this, value, result);
|
25
|
+
return result.value;
|
26
|
+
}
|
27
|
+
templatize(object) {
|
28
|
+
const template = this.template.bind(this);
|
29
|
+
return traverse(object).forEach(function (value) {
|
30
|
+
if (typeof value === 'string')
|
31
|
+
this.update(template(value));
|
32
|
+
});
|
33
|
+
}
|
34
|
+
get(path, def) {
|
35
|
+
if (!this.has(path)) {
|
36
|
+
if (def === undefined)
|
37
|
+
throw new errors_1.UndefinedConfigPathError(path);
|
38
|
+
return def;
|
39
|
+
}
|
40
|
+
const result = (0, lodash_1.get)(this.data, path);
|
41
|
+
switch (typeof result) {
|
42
|
+
case 'string':
|
43
|
+
return this.template(result);
|
44
|
+
case 'object':
|
45
|
+
return result ? this.templatize(result) : result;
|
46
|
+
default:
|
47
|
+
return result;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
has(path) {
|
51
|
+
return (0, lodash_1.has)(this.data, path);
|
52
|
+
}
|
53
|
+
set(path, value) {
|
54
|
+
(0, lodash_1.set)(this.data, path, value);
|
55
|
+
}
|
56
|
+
merge(data) {
|
57
|
+
(0, lodash_1.merge)(this.data, data);
|
58
|
+
}
|
59
|
+
};
|
60
|
+
Config.Template = {
|
61
|
+
string: true,
|
62
|
+
link: true,
|
63
|
+
regexp: true,
|
64
|
+
function: true,
|
65
|
+
};
|
66
|
+
Config = __decorate([
|
67
|
+
(0, inversion_1.injectable)()
|
68
|
+
], Config);
|
69
|
+
exports.Config = Config;
|
70
|
+
//# sourceMappingURL=config.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kDAAgD;AAChD,mCAA4D;AAC5D,qCAAqC;AACrC,yCAAsC;AACtC,qCAAoD;AAIpD,IAAa,MAAM,GAAnB,MAAa,MAAM;IAAnB;QAUY,SAAI,GAAG,EAAE,CAAC;IA4HtB,CAAC;IAvHW,QAAQ,CAAC,KAAa;QAC9B,MAAM,MAAM,GAAY,EAAE,KAAK,EAAE,CAAC;QAClC,mBAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1C,mBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,mBAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1C,mBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAKS,UAAU,CAAC,MAAe;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;YAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;IAuBM,GAAG,CAAc,IAAkB,EAAE,GAAO;QACjD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,GAAG,KAAK,SAAS;gBAAE,MAAM,IAAI,iCAAwB,CAAC,IAAI,CAAC,CAAC;YAChE,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,MAAM,GAAQ,IAAA,YAAG,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzC,QAAQ,OAAO,MAAM,EAAE;YACrB,KAAK,QAAQ;gBACX,OAAoB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAE,CAAC;YAC7C,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACnD;gBACE,OAAO,MAAM,CAAC;SACjB;IACH,CAAC;IAgBM,GAAG,CAAC,IAAkB;QAC3B,OAAO,IAAA,YAAG,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAiBM,GAAG,CAAC,IAAkB,EAAE,KAAc;QAC3C,IAAA,YAAG,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAyBM,KAAK,CAAC,IAAa;QACxB,IAAA,cAAK,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;;AApIsB,eAAQ,GAAG;IAChC,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;CACf,AAL8B,CAK7B;AANS,MAAM;IADlB,IAAA,sBAAU,GAAE;GACA,MAAM,CAsIlB;AAtIY,wBAAM"}
|
package/dist/src/index.js
CHANGED
@@ -10,74 +10,11 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
10
10
|
if (k2 === undefined) k2 = k;
|
11
11
|
o[k2] = m[k];
|
12
12
|
}));
|
13
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
14
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
15
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
16
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
17
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
18
|
-
};
|
19
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
20
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
21
15
|
};
|
22
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
23
|
-
exports
|
24
|
-
const inversion_1 = require("@biorate/inversion");
|
25
|
-
const lodash_1 = require("lodash");
|
26
|
-
const traverse = require("traverse");
|
27
|
-
const errors_1 = require("./errors");
|
28
|
-
__exportStar(require("../interfaces"), exports);
|
17
|
+
__exportStar(require("./config"), exports);
|
29
18
|
__exportStar(require("./errors"), exports);
|
30
|
-
|
31
|
-
constructor() {
|
32
|
-
this.data = {};
|
33
|
-
}
|
34
|
-
template(value) {
|
35
|
-
var _a;
|
36
|
-
let res, result = value, regExp = /\${([^}{]+)+?}/g;
|
37
|
-
while ((res = regExp.exec(value)))
|
38
|
-
if (this.has(res[1]))
|
39
|
-
result = result.replace(res[0], this.get(res[1]));
|
40
|
-
regExp = /^#{([^}{]+)+?}$/g;
|
41
|
-
const match = (_a = regExp.exec(value)) === null || _a === void 0 ? void 0 : _a[1];
|
42
|
-
if (match)
|
43
|
-
result = this.get(match);
|
44
|
-
return result;
|
45
|
-
}
|
46
|
-
templatize(object) {
|
47
|
-
const template = this.template.bind(this);
|
48
|
-
return traverse(object).forEach(function (value) {
|
49
|
-
if (typeof value === 'string')
|
50
|
-
this.update(template(value));
|
51
|
-
});
|
52
|
-
}
|
53
|
-
get(path, def) {
|
54
|
-
if (!this.has(path)) {
|
55
|
-
if (def === undefined)
|
56
|
-
throw new errors_1.UndefinedConfigPathError(path);
|
57
|
-
return def;
|
58
|
-
}
|
59
|
-
const result = (0, lodash_1.get)(this.data, path);
|
60
|
-
switch (typeof result) {
|
61
|
-
case 'string':
|
62
|
-
return this.template(result);
|
63
|
-
case 'object':
|
64
|
-
return result ? this.templatize(result) : result;
|
65
|
-
default:
|
66
|
-
return result;
|
67
|
-
}
|
68
|
-
}
|
69
|
-
has(path) {
|
70
|
-
return (0, lodash_1.has)(this.data, path);
|
71
|
-
}
|
72
|
-
set(path, value) {
|
73
|
-
(0, lodash_1.set)(this.data, path, value);
|
74
|
-
}
|
75
|
-
merge(data) {
|
76
|
-
(0, lodash_1.merge)(this.data, data);
|
77
|
-
}
|
78
|
-
};
|
79
|
-
Config = __decorate([
|
80
|
-
(0, inversion_1.injectable)()
|
81
|
-
], Config);
|
82
|
-
exports.Config = Config;
|
19
|
+
__exportStar(require("../interfaces"), exports);
|
83
20
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,gDAA8B"}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Template = void 0;
|
4
|
+
const config_1 = require("./config");
|
5
|
+
class Template {
|
6
|
+
static string(value, result) {
|
7
|
+
if (!config_1.Config.Template.string)
|
8
|
+
return;
|
9
|
+
let regExp = /\${([^}{]+)+?}/g, res;
|
10
|
+
while ((res = regExp.exec(value)))
|
11
|
+
if (this.has(res[1]))
|
12
|
+
result.value = result.value.replace(res[0], this.get(res[1]));
|
13
|
+
}
|
14
|
+
static link(value, result) {
|
15
|
+
var _a;
|
16
|
+
if (!config_1.Config.Template.link)
|
17
|
+
return;
|
18
|
+
let regExp = /^#{([^}{]+)+?}$/g;
|
19
|
+
const match = (_a = regExp.exec(value)) === null || _a === void 0 ? void 0 : _a[1];
|
20
|
+
if (match)
|
21
|
+
result.value = this.get(match);
|
22
|
+
}
|
23
|
+
static regexp(value, result) {
|
24
|
+
if (!config_1.Config.Template.regexp)
|
25
|
+
return;
|
26
|
+
let regExp = /^R\{\/([^\/]+)\/([^\/]+)\}$/g;
|
27
|
+
const match = regExp.exec(value);
|
28
|
+
if ((match === null || match === void 0 ? void 0 : match[1]) && (match === null || match === void 0 ? void 0 : match[2]))
|
29
|
+
result.value = new RegExp(match === null || match === void 0 ? void 0 : match[1], match === null || match === void 0 ? void 0 : match[2]);
|
30
|
+
}
|
31
|
+
static function(value, result) {
|
32
|
+
if (!config_1.Config.Template.function)
|
33
|
+
return;
|
34
|
+
let regExp = /^F\{([^=>]+) => ([^}]+)\}$/g;
|
35
|
+
const match = regExp.exec(value);
|
36
|
+
if ((match === null || match === void 0 ? void 0 : match[1]) && (match === null || match === void 0 ? void 0 : match[2]))
|
37
|
+
result.value = (new Function(...match === null || match === void 0 ? void 0 : match[1].trim().split(/\s*,\s*/), match === null || match === void 0 ? void 0 : match[2].trim()).bind({}));
|
38
|
+
}
|
39
|
+
}
|
40
|
+
exports.Template = Template;
|
41
|
+
//# sourceMappingURL=template.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/template.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAGlC,MAAa,QAAQ;IACZ,MAAM,CAAC,MAAM,CAAe,KAAa,EAAE,MAAe;QAC/D,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QACpC,IAAI,MAAM,GAAG,iBAAiB,EAC5B,GAAG,CAAC;QACN,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClB,MAAM,CAAC,KAAK,GAAY,MAAM,CAAC,KAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEM,MAAM,CAAC,IAAI,CAAe,KAAa,EAAE,MAAe;;QAC7D,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,IAAI;YAAE,OAAO;QAClC,IAAI,MAAM,GAAG,kBAAkB,CAAC;QAChC,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,0CAAG,CAAC,CAAC,CAAC;QACtC,IAAI,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,MAAM,CAAe,KAAa,EAAE,MAAe;QAC/D,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QACpC,IAAI,MAAM,GAAG,8BAA8B,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,MAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAA;YAAE,MAAM,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAe,KAAa,EAAE,MAAe;QACjE,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,QAAQ;YAAE,OAAO;QACtC,IAAI,MAAM,GAAG,6BAA6B,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,MAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAA;YAC1B,MAAM,CAAC,KAAK,GAAkB,CAC5B,IAAI,QAAQ,CAAC,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAChF,CAAC;IACN,CAAC;CACF;AAjCD,4BAiCC"}
|