auth0-deploy-cli 7.20.0 → 7.22.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/8c594b79-aa55-4e49-845c-8d88ca24c494.json +1 -0
- package/.nyc_output/processinfo/278104e6-6bb4-4dfb-94bf-3ef7f73e08b9.json +1 -0
- package/.nyc_output/processinfo/5210e060-a3b8-4e7f-9062-47807b58d0cd.json +1 -0
- package/.nyc_output/processinfo/{077589bb-1ba0-4dbe-b46f-6e000c3a10b7.json → 8c594b79-aa55-4e49-845c-8d88ca24c494.json} +1 -1
- package/.nyc_output/processinfo/index.json +1 -1
- package/CHANGELOG.md +24 -1
- package/coverage/lcov-report/index.html +19 -19
- package/coverage/lcov.info +516 -514
- package/lib/tools/auth0/handlers/logStreams.js +1 -1
- package/lib/tools/auth0/handlers/logStreams.js.map +1 -1
- package/lib/tools/auth0/handlers/organizations.d.ts +6 -0
- package/lib/tools/auth0/handlers/organizations.js +10 -2
- package/lib/tools/auth0/handlers/organizations.js.map +1 -1
- package/lib/tools/auth0/handlers/themes.d.ts +6 -0
- package/lib/tools/auth0/handlers/themes.js +6 -0
- package/lib/tools/auth0/handlers/themes.js.map +1 -1
- package/package.json +1 -1
- package/.nyc_output/077589bb-1ba0-4dbe-b46f-6e000c3a10b7.json +0 -1
- package/.nyc_output/processinfo/8cfe1f78-4f88-4145-a8fa-7772e840db6f.json +0 -1
- package/.nyc_output/processinfo/a277366c-ae14-4a57-afe2-fecfb961aa73.json +0 -1
- package/coverage/lcov-report/src/args.ts.html +0 -505
- package/coverage/lcov-report/src/commands/export.ts.html +0 -274
- package/coverage/lcov-report/src/commands/import.ts.html +0 -250
- package/coverage/lcov-report/src/commands/index.html +0 -131
- package/coverage/lcov-report/src/configFactory.ts.html +0 -175
- package/coverage/lcov-report/src/context/defaults.ts.html +0 -196
- package/coverage/lcov-report/src/context/directory/handlers/actions.ts.html +0 -433
- package/coverage/lcov-report/src/context/directory/handlers/attackProtection.ts.html +0 -334
- package/coverage/lcov-report/src/context/directory/handlers/branding.ts.html +0 -475
- package/coverage/lcov-report/src/context/directory/handlers/clientGrants.ts.html +0 -385
- package/coverage/lcov-report/src/context/directory/handlers/clients.ts.html +0 -340
- package/coverage/lcov-report/src/context/directory/handlers/connections.ts.html +0 -388
- package/coverage/lcov-report/src/context/directory/handlers/customDomains.ts.html +0 -232
- package/coverage/lcov-report/src/context/directory/handlers/databases.ts.html +0 -568
- package/coverage/lcov-report/src/context/directory/handlers/emailProvider.ts.html +0 -250
- package/coverage/lcov-report/src/context/directory/handlers/emailTemplates.ts.html +0 -343
- package/coverage/lcov-report/src/context/directory/handlers/guardianFactorProviders.ts.html +0 -271
- package/coverage/lcov-report/src/context/directory/handlers/guardianFactorTemplates.ts.html +0 -262
- package/coverage/lcov-report/src/context/directory/handlers/guardianFactors.ts.html +0 -262
- package/coverage/lcov-report/src/context/directory/handlers/guardianPhoneFactorMessageTypes.ts.html +0 -223
- package/coverage/lcov-report/src/context/directory/handlers/guardianPhoneFactorSelectedProvider.ts.html +0 -235
- package/coverage/lcov-report/src/context/directory/handlers/guardianPolicies.ts.html +0 -223
- package/coverage/lcov-report/src/context/directory/handlers/hooks.ts.html +0 -289
- package/coverage/lcov-report/src/context/directory/handlers/index.html +0 -551
- package/coverage/lcov-report/src/context/directory/handlers/index.ts.html +0 -304
- package/coverage/lcov-report/src/context/directory/handlers/logStreams.ts.html +0 -235
- package/coverage/lcov-report/src/context/directory/handlers/migrations.ts.html +0 -205
- package/coverage/lcov-report/src/context/directory/handlers/organizations.ts.html +0 -304
- package/coverage/lcov-report/src/context/directory/handlers/pages.ts.html +0 -379
- package/coverage/lcov-report/src/context/directory/handlers/prompts.ts.html +0 -331
- package/coverage/lcov-report/src/context/directory/handlers/resourceServers.ts.html +0 -247
- package/coverage/lcov-report/src/context/directory/handlers/roles.ts.html +0 -268
- package/coverage/lcov-report/src/context/directory/handlers/rules.ts.html +0 -277
- package/coverage/lcov-report/src/context/directory/handlers/rulesConfigs.ts.html +0 -208
- package/coverage/lcov-report/src/context/directory/handlers/tenant.ts.html +0 -298
- package/coverage/lcov-report/src/context/directory/handlers/themes.ts.html +0 -241
- package/coverage/lcov-report/src/context/directory/handlers/triggers.ts.html +0 -229
- package/coverage/lcov-report/src/context/directory/index.html +0 -116
- package/coverage/lcov-report/src/context/directory/index.ts.html +0 -490
- package/coverage/lcov-report/src/context/index.html +0 -131
- package/coverage/lcov-report/src/context/index.ts.html +0 -784
- package/coverage/lcov-report/src/context/yaml/handlers/actions.ts.html +0 -388
- package/coverage/lcov-report/src/context/yaml/handlers/attackProtection.ts.html +0 -193
- package/coverage/lcov-report/src/context/yaml/handlers/branding.ts.html +0 -376
- package/coverage/lcov-report/src/context/yaml/handlers/clientGrants.ts.html +0 -223
- package/coverage/lcov-report/src/context/yaml/handlers/clients.ts.html +0 -304
- package/coverage/lcov-report/src/context/yaml/handlers/connections.ts.html +0 -394
- package/coverage/lcov-report/src/context/yaml/handlers/customDomains.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/databases.ts.html +0 -352
- package/coverage/lcov-report/src/context/yaml/handlers/emailProvider.ts.html +0 -208
- package/coverage/lcov-report/src/context/yaml/handlers/emailTemplates.ts.html +0 -241
- package/coverage/lcov-report/src/context/yaml/handlers/guardianFactorProviders.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianFactorTemplates.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianFactors.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianPhoneFactorMessageTypes.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianPhoneFactorSelectedProvider.ts.html +0 -169
- package/coverage/lcov-report/src/context/yaml/handlers/guardianPolicies.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/hooks.ts.html +0 -280
- package/coverage/lcov-report/src/context/yaml/handlers/index.html +0 -551
- package/coverage/lcov-report/src/context/yaml/handlers/index.ts.html +0 -298
- package/coverage/lcov-report/src/context/yaml/handlers/logStreams.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/migrations.ts.html +0 -145
- package/coverage/lcov-report/src/context/yaml/handlers/organizations.ts.html +0 -235
- package/coverage/lcov-report/src/context/yaml/handlers/pages.ts.html +0 -265
- package/coverage/lcov-report/src/context/yaml/handlers/prompts.ts.html +0 -154
- package/coverage/lcov-report/src/context/yaml/handlers/resourceServers.ts.html +0 -157
- package/coverage/lcov-report/src/context/yaml/handlers/roles.ts.html +0 -199
- package/coverage/lcov-report/src/context/yaml/handlers/rules.ts.html +0 -253
- package/coverage/lcov-report/src/context/yaml/handlers/rulesConfigs.ts.html +0 -181
- package/coverage/lcov-report/src/context/yaml/handlers/tenant.ts.html +0 -235
- package/coverage/lcov-report/src/context/yaml/handlers/themes.ts.html +0 -154
- package/coverage/lcov-report/src/context/yaml/handlers/triggers.ts.html +0 -172
- package/coverage/lcov-report/src/context/yaml/index.html +0 -116
- package/coverage/lcov-report/src/context/yaml/index.ts.html +0 -703
- package/coverage/lcov-report/src/index.html +0 -236
- package/coverage/lcov-report/src/index.ts.html +0 -361
- package/coverage/lcov-report/src/keywordPreservation.ts.html +0 -982
- package/coverage/lcov-report/src/logger.ts.html +0 -133
- package/coverage/lcov-report/src/readonly.ts.html +0 -343
- package/coverage/lcov-report/src/sessionDurationsToMinutes.ts.html +0 -154
- package/coverage/lcov-report/src/tools/auth0/client.ts.html +0 -604
- package/coverage/lcov-report/src/tools/auth0/handlers/actions.ts.html +0 -907
- package/coverage/lcov-report/src/tools/auth0/handlers/attackProtection.ts.html +0 -397
- package/coverage/lcov-report/src/tools/auth0/handlers/branding.ts.html +0 -430
- package/coverage/lcov-report/src/tools/auth0/handlers/clientGrants.ts.html +0 -436
- package/coverage/lcov-report/src/tools/auth0/handlers/clients.ts.html +0 -361
- package/coverage/lcov-report/src/tools/auth0/handlers/connections.ts.html +0 -598
- package/coverage/lcov-report/src/tools/auth0/handlers/customDomains.ts.html +0 -382
- package/coverage/lcov-report/src/tools/auth0/handlers/databases.ts.html +0 -436
- package/coverage/lcov-report/src/tools/auth0/handlers/default.ts.html +0 -1027
- package/coverage/lcov-report/src/tools/auth0/handlers/emailProvider.ts.html +0 -283
- package/coverage/lcov-report/src/tools/auth0/handlers/emailTemplates.ts.html +0 -343
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactorProviders.ts.html +0 -301
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactorTemplates.ts.html +0 -265
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactors.ts.html +0 -241
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianPhoneFactorMessageTypes.ts.html +0 -337
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.ts.html +0 -331
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianPolicies.ts.html +0 -256
- package/coverage/lcov-report/src/tools/auth0/handlers/hooks.ts.html +0 -895
- package/coverage/lcov-report/src/tools/auth0/handlers/index.html +0 -566
- package/coverage/lcov-report/src/tools/auth0/handlers/index.ts.html +0 -295
- package/coverage/lcov-report/src/tools/auth0/handlers/logStreams.ts.html +0 -379
- package/coverage/lcov-report/src/tools/auth0/handlers/migrations.ts.html +0 -319
- package/coverage/lcov-report/src/tools/auth0/handlers/organizations.ts.html +0 -946
- package/coverage/lcov-report/src/tools/auth0/handlers/pages.ts.html +0 -544
- package/coverage/lcov-report/src/tools/auth0/handlers/prompts.ts.html +0 -946
- package/coverage/lcov-report/src/tools/auth0/handlers/resourceServers.ts.html +0 -433
- package/coverage/lcov-report/src/tools/auth0/handlers/roles.ts.html +0 -748
- package/coverage/lcov-report/src/tools/auth0/handlers/rules.ts.html +0 -826
- package/coverage/lcov-report/src/tools/auth0/handlers/rulesConfigs.ts.html +0 -289
- package/coverage/lcov-report/src/tools/auth0/handlers/tenant.ts.html +0 -556
- package/coverage/lcov-report/src/tools/auth0/handlers/themes.ts.html +0 -1885
- package/coverage/lcov-report/src/tools/auth0/handlers/triggers.ts.html +0 -439
- package/coverage/lcov-report/src/tools/auth0/index.html +0 -146
- package/coverage/lcov-report/src/tools/auth0/index.ts.html +0 -385
- package/coverage/lcov-report/src/tools/auth0/schema.ts.html +0 -184
- package/coverage/lcov-report/src/tools/calculateChanges.ts.html +0 -688
- package/coverage/lcov-report/src/tools/constants.ts.html +0 -613
- package/coverage/lcov-report/src/tools/deploy.ts.html +0 -193
- package/coverage/lcov-report/src/tools/index.html +0 -191
- package/coverage/lcov-report/src/tools/index.ts.html +0 -163
- package/coverage/lcov-report/src/tools/utils.ts.html +0 -916
- package/coverage/lcov-report/src/tools/validationError.ts.html +0 -127
- package/coverage/lcov-report/src/types.ts.html +0 -1201
- package/coverage/lcov-report/src/utils.ts.html +0 -706
- /package/.nyc_output/{8cfe1f78-4f88-4145-a8fa-7772e840db6f.json → 278104e6-6bb4-4dfb-94bf-3ef7f73e08b9.json} +0 -0
- /package/.nyc_output/{a277366c-ae14-4a57-afe2-fecfb961aa73.json → 5210e060-a3b8-4e7f-9062-47807b58d0cd.json} +0 -0
|
@@ -1,916 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for src/tools/utils.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> / <a href="index.html">src/tools</a> utils.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">98.7% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>152/154</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">88.15% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>67/76</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">97.82% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>45/46</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">99.23% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>129/130</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 oninput="onInput()" 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>
|
|
104
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
-
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
-
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
-
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
-
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
-
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
-
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
-
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
-
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
-
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
-
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
-
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
-
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
-
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
-
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
-
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
-
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
-
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
-
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
-
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
-
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
-
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
-
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
-
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
-
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
-
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
-
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
-
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
-
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
-
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
-
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
-
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
-
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
-
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
-
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
-
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
-
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
-
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
-
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
-
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
-
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
-
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
-
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
-
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
-
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
-
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
-
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
-
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
-
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
-
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
-
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
-
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
-
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
-
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
-
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
-
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
-
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
-
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
-
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
-
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
-
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
-
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
-
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
-
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
-
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
-
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
-
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
-
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
-
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
-
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
-
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
-
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
-
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
-
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
-
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
-
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
-
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
-
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
-
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
-
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
-
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
-
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
-
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
-
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
-
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
-
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
-
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
-
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
-
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
-
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
-
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
-
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
-
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
-
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
-
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
-
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
-
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
-
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
-
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
-
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
-
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
-
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
-
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
-
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
-
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
-
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
-
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
-
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
-
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
-
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
-
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
-
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
-
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
-
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
-
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
-
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
-
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
-
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
-
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
-
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
-
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
-
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
-
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
-
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
-
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
-
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
-
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
-
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
-
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
-
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
-
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
-
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
-
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
-
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
-
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
-
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
-
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
-
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
-
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
-
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
-
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
-
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
-
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
-
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
-
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
-
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
-
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
-
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
-
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
-
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
-
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
-
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
-
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
-
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
-
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
-
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
-
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
-
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
-
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
-
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
-
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
-
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
-
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
-
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
-
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
-
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
-
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
-
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
-
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
-
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
-
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
-
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
-
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
-
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
-
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
-
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
-
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
-
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
-
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
-
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
-
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
-
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
-
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
-
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
-
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
-
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
-
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
-
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
-
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
-
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
-
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
-
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
-
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
-
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
-
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
-
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
-
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
-
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
-
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
-
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
-
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
-
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
-
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
-
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
-
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
-
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
-
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
-
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
-
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
-
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
-
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
-
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
-
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
-
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
-
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
-
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
-
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
-
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
-
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
-
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
-
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
-
<a name='L277'></a><a href='#L277'>277</a>
|
|
343
|
-
<a name='L278'></a><a href='#L278'>278</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
344
|
-
<span class="cline-any cline-yes">1x</span>
|
|
345
|
-
<span class="cline-any cline-yes">1x</span>
|
|
346
|
-
<span class="cline-any cline-yes">1x</span>
|
|
347
|
-
<span class="cline-any cline-yes">1x</span>
|
|
348
|
-
<span class="cline-any cline-neutral"> </span>
|
|
349
|
-
<span class="cline-any cline-yes">1x</span>
|
|
350
|
-
<span class="cline-any cline-neutral"> </span>
|
|
351
|
-
<span class="cline-any cline-yes">1x</span>
|
|
352
|
-
<span class="cline-any cline-yes">673x</span>
|
|
353
|
-
<span class="cline-any cline-neutral"> </span>
|
|
354
|
-
<span class="cline-any cline-yes">673x</span>
|
|
355
|
-
<span class="cline-any cline-yes">673x</span>
|
|
356
|
-
<span class="cline-any cline-neutral"> </span>
|
|
357
|
-
<span class="cline-any cline-yes">673x</span>
|
|
358
|
-
<span class="cline-any cline-neutral"> </span>
|
|
359
|
-
<span class="cline-any cline-neutral"> </span>
|
|
360
|
-
<span class="cline-any cline-yes">1x</span>
|
|
361
|
-
<span class="cline-any cline-yes">671x</span>
|
|
362
|
-
<span class="cline-any cline-neutral"> </span>
|
|
363
|
-
<span class="cline-any cline-neutral"> </span>
|
|
364
|
-
<span class="cline-any cline-yes">1x</span>
|
|
365
|
-
<span class="cline-any cline-yes">210x</span>
|
|
366
|
-
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-yes">358x</span>
|
|
368
|
-
<span class="cline-any cline-neutral"> </span>
|
|
369
|
-
<span class="cline-any cline-yes">358x</span>
|
|
370
|
-
<span class="cline-any cline-neutral"> </span>
|
|
371
|
-
<span class="cline-any cline-yes">210x</span>
|
|
372
|
-
<span class="cline-any cline-neutral"> </span>
|
|
373
|
-
<span class="cline-any cline-neutral"> </span>
|
|
374
|
-
<span class="cline-any cline-yes">1x</span>
|
|
375
|
-
<span class="cline-any cline-yes">209x</span>
|
|
376
|
-
<span class="cline-any cline-yes">356x</span>
|
|
377
|
-
<span class="cline-any cline-neutral"> </span>
|
|
378
|
-
<span class="cline-any cline-yes">356x</span>
|
|
379
|
-
<span class="cline-any cline-neutral"> </span>
|
|
380
|
-
<span class="cline-any cline-yes">209x</span>
|
|
381
|
-
<span class="cline-any cline-neutral"> </span>
|
|
382
|
-
<span class="cline-any cline-neutral"> </span>
|
|
383
|
-
<span class="cline-any cline-yes">1x</span>
|
|
384
|
-
<span class="cline-any cline-neutral"> </span>
|
|
385
|
-
<span class="cline-any cline-yes">299x</span>
|
|
386
|
-
<span class="cline-any cline-yes">206x</span>
|
|
387
|
-
<span class="cline-any cline-yes">206x</span>
|
|
388
|
-
<span class="cline-any cline-neutral"> </span>
|
|
389
|
-
<span class="cline-any cline-yes">299x</span>
|
|
390
|
-
<span class="cline-any cline-neutral"> </span>
|
|
391
|
-
<span class="cline-any cline-neutral"> </span>
|
|
392
|
-
<span class="cline-any cline-neutral"> </span>
|
|
393
|
-
<span class="cline-any cline-neutral"> </span>
|
|
394
|
-
<span class="cline-any cline-neutral"> </span>
|
|
395
|
-
<span class="cline-any cline-yes">1x</span>
|
|
396
|
-
<span class="cline-any cline-yes">4x</span>
|
|
397
|
-
<span class="cline-any cline-yes">4x</span>
|
|
398
|
-
<span class="cline-any cline-yes">5x</span>
|
|
399
|
-
<span class="cline-any cline-neutral"> </span>
|
|
400
|
-
<span class="cline-any cline-neutral"> </span>
|
|
401
|
-
<span class="cline-any cline-neutral"> </span>
|
|
402
|
-
<span class="cline-any cline-neutral"> </span>
|
|
403
|
-
<span class="cline-any cline-yes">4x</span>
|
|
404
|
-
<span class="cline-any cline-neutral"> </span>
|
|
405
|
-
<span class="cline-any cline-neutral"> </span>
|
|
406
|
-
<span class="cline-any cline-yes">1x</span>
|
|
407
|
-
<span class="cline-any cline-yes">7x</span>
|
|
408
|
-
<span class="cline-any cline-yes">4x</span>
|
|
409
|
-
<span class="cline-any cline-neutral"> </span>
|
|
410
|
-
<span class="cline-any cline-neutral"> </span>
|
|
411
|
-
<span class="cline-any cline-yes">1x</span>
|
|
412
|
-
<span class="cline-any cline-yes">30x</span>
|
|
413
|
-
<span class="cline-any cline-yes">30x</span>
|
|
414
|
-
<span class="cline-any cline-yes">54x</span>
|
|
415
|
-
<span class="cline-any cline-yes">37x</span>
|
|
416
|
-
<span class="cline-any cline-yes">23x</span>
|
|
417
|
-
<span class="cline-any cline-yes">23x</span>
|
|
418
|
-
<span class="cline-any cline-neutral"> </span>
|
|
419
|
-
<span class="cline-any cline-yes">31x</span>
|
|
420
|
-
<span class="cline-any cline-neutral"> </span>
|
|
421
|
-
<span class="cline-any cline-yes">30x</span>
|
|
422
|
-
<span class="cline-any cline-neutral"> </span>
|
|
423
|
-
<span class="cline-any cline-yes">30x</span>
|
|
424
|
-
<span class="cline-any cline-neutral"> </span>
|
|
425
|
-
<span class="cline-any cline-neutral"> </span>
|
|
426
|
-
<span class="cline-any cline-yes">1x</span>
|
|
427
|
-
<span class="cline-any cline-neutral"> </span>
|
|
428
|
-
<span class="cline-any cline-neutral"> </span>
|
|
429
|
-
<span class="cline-any cline-neutral"> </span>
|
|
430
|
-
<span class="cline-any cline-neutral"> </span>
|
|
431
|
-
<span class="cline-any cline-neutral"> </span>
|
|
432
|
-
<span class="cline-any cline-neutral"> </span>
|
|
433
|
-
<span class="cline-any cline-neutral"> </span>
|
|
434
|
-
<span class="cline-any cline-yes">206x</span>
|
|
435
|
-
<span class="cline-any cline-yes">206x</span>
|
|
436
|
-
<span class="cline-any cline-yes">206x</span>
|
|
437
|
-
<span class="cline-any cline-yes">204x</span>
|
|
438
|
-
<span class="cline-any cline-yes">200x</span>
|
|
439
|
-
<span class="cline-any cline-neutral"> </span>
|
|
440
|
-
<span class="cline-any cline-yes">4x</span>
|
|
441
|
-
<span class="cline-any cline-neutral"> </span>
|
|
442
|
-
<span class="cline-any cline-yes">2x</span>
|
|
443
|
-
<span class="cline-any cline-neutral"> </span>
|
|
444
|
-
<span class="cline-any cline-neutral"> </span>
|
|
445
|
-
<span class="cline-any cline-neutral"> </span>
|
|
446
|
-
<span class="cline-any cline-yes">1x</span>
|
|
447
|
-
<span class="cline-any cline-neutral"> </span>
|
|
448
|
-
<span class="cline-any cline-yes">996x</span>
|
|
449
|
-
<span class="cline-any cline-neutral"> </span>
|
|
450
|
-
<span class="cline-any cline-neutral"> </span>
|
|
451
|
-
<span class="cline-any cline-yes">1x</span>
|
|
452
|
-
<span class="cline-any cline-yes">151x</span>
|
|
453
|
-
<span class="cline-any cline-neutral"> </span>
|
|
454
|
-
<span class="cline-any cline-neutral"> </span>
|
|
455
|
-
<span class="cline-any cline-yes">1x</span>
|
|
456
|
-
<span class="cline-any cline-neutral"> </span>
|
|
457
|
-
<span class="cline-any cline-yes">50x</span>
|
|
458
|
-
<span class="cline-any cline-neutral"> </span>
|
|
459
|
-
<span class="cline-any cline-yes">50x</span>
|
|
460
|
-
<span class="cline-any cline-yes">50x</span>
|
|
461
|
-
<span class="cline-any cline-yes">70x</span>
|
|
462
|
-
<span class="cline-any cline-yes">55x</span>
|
|
463
|
-
<span class="cline-any cline-yes">55x</span>
|
|
464
|
-
<span class="cline-any cline-neutral"> </span>
|
|
465
|
-
<span class="cline-any cline-neutral"> </span>
|
|
466
|
-
<span class="cline-any cline-neutral"> </span>
|
|
467
|
-
<span class="cline-any cline-yes">50x</span>
|
|
468
|
-
<span class="cline-any cline-yes">200x</span>
|
|
469
|
-
<span class="cline-any cline-yes">50x</span>
|
|
470
|
-
<span class="cline-any cline-neutral"> </span>
|
|
471
|
-
<span class="cline-any cline-yes">50x</span>
|
|
472
|
-
<span class="cline-any cline-neutral"> </span>
|
|
473
|
-
<span class="cline-any cline-neutral"> </span>
|
|
474
|
-
<span class="cline-any cline-yes">1x</span>
|
|
475
|
-
<span class="cline-any cline-neutral"> </span>
|
|
476
|
-
<span class="cline-any cline-neutral"> </span>
|
|
477
|
-
<span class="cline-any cline-neutral"> </span>
|
|
478
|
-
<span class="cline-any cline-neutral"> </span>
|
|
479
|
-
<span class="cline-any cline-neutral"> </span>
|
|
480
|
-
<span class="cline-any cline-neutral"> </span>
|
|
481
|
-
<span class="cline-any cline-neutral"> </span>
|
|
482
|
-
<span class="cline-any cline-yes">15x</span>
|
|
483
|
-
<span class="cline-any cline-neutral"> </span>
|
|
484
|
-
<span class="cline-any cline-yes">10x</span>
|
|
485
|
-
<span class="cline-any cline-yes">10x</span>
|
|
486
|
-
<span class="cline-any cline-yes">10x</span>
|
|
487
|
-
<span class="cline-any cline-neutral"> </span>
|
|
488
|
-
<span class="cline-any cline-yes">14x</span>
|
|
489
|
-
<span class="cline-any cline-neutral"> </span>
|
|
490
|
-
<span class="cline-any cline-neutral"> </span>
|
|
491
|
-
<span class="cline-any cline-neutral"> </span>
|
|
492
|
-
<span class="cline-any cline-neutral"> </span>
|
|
493
|
-
<span class="cline-any cline-yes">10x</span>
|
|
494
|
-
<span class="cline-any cline-yes">10x</span>
|
|
495
|
-
<span class="cline-any cline-yes">6x</span>
|
|
496
|
-
<span class="cline-any cline-yes">4x</span>
|
|
497
|
-
<span class="cline-any cline-yes">2x</span>
|
|
498
|
-
<span class="cline-any cline-neutral"> </span>
|
|
499
|
-
<span class="cline-any cline-neutral"> </span>
|
|
500
|
-
<span class="cline-any cline-neutral"> </span>
|
|
501
|
-
<span class="cline-any cline-neutral"> </span>
|
|
502
|
-
<span class="cline-any cline-yes">10x</span>
|
|
503
|
-
<span class="cline-any cline-neutral"> </span>
|
|
504
|
-
<span class="cline-any cline-neutral"> </span>
|
|
505
|
-
<span class="cline-any cline-yes">1x</span>
|
|
506
|
-
<span class="cline-any cline-neutral"> </span>
|
|
507
|
-
<span class="cline-any cline-yes">145x</span>
|
|
508
|
-
<span class="cline-any cline-neutral"> </span>
|
|
509
|
-
<span class="cline-any cline-yes">204x</span>
|
|
510
|
-
<span class="cline-any cline-yes">204x</span>
|
|
511
|
-
<span class="cline-any cline-yes">130x</span>
|
|
512
|
-
<span class="cline-any cline-yes">130x</span>
|
|
513
|
-
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-yes">204x</span>
|
|
515
|
-
<span class="cline-any cline-neutral"> </span>
|
|
516
|
-
<span class="cline-any cline-neutral"> </span>
|
|
517
|
-
<span class="cline-any cline-neutral"> </span>
|
|
518
|
-
<span class="cline-any cline-yes">145x</span>
|
|
519
|
-
<span class="cline-any cline-neutral"> </span>
|
|
520
|
-
<span class="cline-any cline-neutral"> </span>
|
|
521
|
-
<span class="cline-any cline-yes">1x</span>
|
|
522
|
-
<span class="cline-any cline-yes">20x</span>
|
|
523
|
-
<span class="cline-any cline-neutral"> </span>
|
|
524
|
-
<span class="cline-any cline-yes">20x</span>
|
|
525
|
-
<span class="cline-any cline-yes">17x</span>
|
|
526
|
-
<span class="cline-any cline-neutral"> </span>
|
|
527
|
-
<span class="cline-any cline-neutral"> </span>
|
|
528
|
-
<span class="cline-any cline-yes">14x</span>
|
|
529
|
-
<span class="cline-any cline-neutral"> </span>
|
|
530
|
-
<span class="cline-any cline-yes">3x</span>
|
|
531
|
-
<span class="cline-any cline-neutral"> </span>
|
|
532
|
-
<span class="cline-any cline-neutral"> </span>
|
|
533
|
-
<span class="cline-any cline-neutral"> </span>
|
|
534
|
-
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-neutral"> </span>
|
|
536
|
-
<span class="cline-any cline-neutral"> </span>
|
|
537
|
-
<span class="cline-any cline-neutral"> </span>
|
|
538
|
-
<span class="cline-any cline-yes">1x</span>
|
|
539
|
-
<span class="cline-any cline-no"> </span>
|
|
540
|
-
<span class="cline-any cline-neutral"> </span>
|
|
541
|
-
<span class="cline-any cline-neutral"> </span>
|
|
542
|
-
<span class="cline-any cline-yes">1x</span>
|
|
543
|
-
<span class="cline-any cline-neutral"> </span>
|
|
544
|
-
<span class="cline-any cline-neutral"> </span>
|
|
545
|
-
<span class="cline-any cline-neutral"> </span>
|
|
546
|
-
<span class="cline-any cline-yes">190x</span>
|
|
547
|
-
<span class="cline-any cline-yes">189x</span>
|
|
548
|
-
<span class="cline-any cline-yes">80x</span>
|
|
549
|
-
<span class="cline-any cline-neutral"> </span>
|
|
550
|
-
<span class="cline-any cline-neutral"> </span>
|
|
551
|
-
<span class="cline-any cline-yes">109x</span>
|
|
552
|
-
<span class="cline-any cline-yes">109x</span>
|
|
553
|
-
<span class="cline-any cline-yes">21x</span>
|
|
554
|
-
<span class="cline-any cline-yes">10x</span>
|
|
555
|
-
<span class="cline-any cline-neutral"> </span>
|
|
556
|
-
<span class="cline-any cline-neutral"> </span>
|
|
557
|
-
<span class="cline-any cline-neutral"> </span>
|
|
558
|
-
<span class="cline-any cline-yes">109x</span>
|
|
559
|
-
<span class="cline-any cline-neutral"> </span>
|
|
560
|
-
<span class="cline-any cline-neutral"> </span>
|
|
561
|
-
<span class="cline-any cline-neutral"> </span>
|
|
562
|
-
<span class="cline-any cline-yes">1x</span>
|
|
563
|
-
<span class="cline-any cline-neutral"> </span>
|
|
564
|
-
<span class="cline-any cline-neutral"> </span>
|
|
565
|
-
<span class="cline-any cline-neutral"> </span>
|
|
566
|
-
<span class="cline-any cline-yes">54x</span>
|
|
567
|
-
<span class="cline-any cline-yes">54x</span>
|
|
568
|
-
<span class="cline-any cline-yes">3x</span>
|
|
569
|
-
<span class="cline-any cline-neutral"> </span>
|
|
570
|
-
<span class="cline-any cline-neutral"> </span>
|
|
571
|
-
<span class="cline-any cline-yes">53x</span>
|
|
572
|
-
<span class="cline-any cline-yes">53x</span>
|
|
573
|
-
<span class="cline-any cline-yes">23x</span>
|
|
574
|
-
<span class="cline-any cline-yes">23x</span>
|
|
575
|
-
<span class="cline-any cline-yes">12x</span>
|
|
576
|
-
<span class="cline-any cline-neutral"> </span>
|
|
577
|
-
<span class="cline-any cline-neutral"> </span>
|
|
578
|
-
<span class="cline-any cline-neutral"> </span>
|
|
579
|
-
<span class="cline-any cline-yes">53x</span>
|
|
580
|
-
<span class="cline-any cline-neutral"> </span>
|
|
581
|
-
<span class="cline-any cline-neutral"> </span>
|
|
582
|
-
<span class="cline-any cline-yes">1x</span>
|
|
583
|
-
<span class="cline-any cline-neutral"> </span>
|
|
584
|
-
<span class="cline-any cline-neutral"> </span>
|
|
585
|
-
<span class="cline-any cline-neutral"> </span>
|
|
586
|
-
<span class="cline-any cline-neutral"> </span>
|
|
587
|
-
<span class="cline-any cline-neutral"> </span>
|
|
588
|
-
<span class="cline-any cline-neutral"> </span>
|
|
589
|
-
<span class="cline-any cline-neutral"> </span>
|
|
590
|
-
<span class="cline-any cline-neutral"> </span>
|
|
591
|
-
<span class="cline-any cline-yes">126x</span>
|
|
592
|
-
<span class="cline-any cline-yes">126x</span>
|
|
593
|
-
<span class="cline-any cline-yes">126x</span>
|
|
594
|
-
<span class="cline-any cline-yes">124x</span>
|
|
595
|
-
<span class="cline-any cline-neutral"> </span>
|
|
596
|
-
<span class="cline-any cline-neutral"> </span>
|
|
597
|
-
<span class="cline-any cline-neutral"> </span>
|
|
598
|
-
<span class="cline-any cline-neutral"> </span>
|
|
599
|
-
<span class="cline-any cline-neutral"> </span>
|
|
600
|
-
<span class="cline-any cline-yes">2x</span>
|
|
601
|
-
<span class="cline-any cline-yes">1x</span>
|
|
602
|
-
<span class="cline-any cline-yes">1x</span>
|
|
603
|
-
<span class="cline-any cline-neutral"> </span>
|
|
604
|
-
<span class="cline-any cline-neutral"> </span>
|
|
605
|
-
<span class="cline-any cline-neutral"> </span>
|
|
606
|
-
<span class="cline-any cline-neutral"> </span>
|
|
607
|
-
<span class="cline-any cline-neutral"> </span>
|
|
608
|
-
<span class="cline-any cline-yes">1x</span>
|
|
609
|
-
<span class="cline-any cline-neutral"> </span>
|
|
610
|
-
<span class="cline-any cline-neutral"> </span>
|
|
611
|
-
<span class="cline-any cline-neutral"> </span>
|
|
612
|
-
<span class="cline-any cline-yes">1x</span>
|
|
613
|
-
<span class="cline-any cline-yes">3x</span>
|
|
614
|
-
<span class="cline-any cline-neutral"> </span>
|
|
615
|
-
<span class="cline-any cline-neutral"> </span>
|
|
616
|
-
<span class="cline-any cline-yes">1x</span>
|
|
617
|
-
<span class="cline-any cline-yes">10x</span>
|
|
618
|
-
<span class="cline-any cline-yes">9x</span>
|
|
619
|
-
<span class="cline-any cline-neutral"> </span>
|
|
620
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import path from 'path';
|
|
621
|
-
import fs, { constants as fsConstants } from 'fs';
|
|
622
|
-
import dotProp from 'dot-prop';
|
|
623
|
-
import _ from 'lodash';
|
|
624
|
-
import log from '../logger';
|
|
625
|
-
import { Asset, Assets, CalculatedChanges, KeywordMappings } from '../types';
|
|
626
|
-
import constants from './constants';
|
|
627
|
-
|
|
628
|
-
export const keywordReplaceArrayRegExp = (key) => {
|
|
629
|
-
const pattern = `@@${key}@@`;
|
|
630
|
-
//YAML format supports both single and double quotes for strings
|
|
631
|
-
const patternWithSingleQuotes = `'${pattern}'`;
|
|
632
|
-
const patternWithDoubleQuotes = `"${pattern}"`;
|
|
633
|
-
|
|
634
|
-
return new RegExp(`${patternWithSingleQuotes}|${patternWithDoubleQuotes}|${pattern}`, 'g');
|
|
635
|
-
};
|
|
636
|
-
|
|
637
|
-
export const keywordReplaceStringRegExp = (key) => {
|
|
638
|
-
return new RegExp(`##${key}##`, 'g');
|
|
639
|
-
};
|
|
640
|
-
|
|
641
|
-
export function keywordArrayReplace(input: string, mappings: KeywordMappings): string {
|
|
642
|
-
Object.keys(mappings).forEach(function (key) {
|
|
643
|
-
// Matching against two sets of patterns because a developer may provide their array replacement keyword with or without wrapping quotes. It is not obvious to the developer which to do depending if they're operating in YAML or JSON.
|
|
644
|
-
const regex = keywordReplaceArrayRegExp(key);
|
|
645
|
-
|
|
646
|
-
input = input.replace(regex, JSON.stringify(mappings[key]));
|
|
647
|
-
});
|
|
648
|
-
return input;
|
|
649
|
-
}
|
|
650
|
-
|
|
651
|
-
export function keywordStringReplace(input: string, mappings: KeywordMappings): string {
|
|
652
|
-
Object.keys(mappings).forEach(function (key) {
|
|
653
|
-
const regex = keywordReplaceStringRegExp(key);
|
|
654
|
-
// @ts-ignore TODO: come back and distinguish strings vs array replacement.
|
|
655
|
-
input = input.replace(regex, mappings[key]);
|
|
656
|
-
});
|
|
657
|
-
return input;
|
|
658
|
-
}
|
|
659
|
-
|
|
660
|
-
export function keywordReplace(input: string, mappings: KeywordMappings): string {
|
|
661
|
-
// Replace keywords with mappings within input.
|
|
662
|
-
if (mappings && Object.keys(mappings).length > 0) {
|
|
663
|
-
input = keywordArrayReplace(input, mappings);
|
|
664
|
-
input = keywordStringReplace(input, mappings);
|
|
665
|
-
}
|
|
666
|
-
return input;
|
|
667
|
-
}
|
|
668
|
-
|
|
669
|
-
// wrapArrayReplaceMarkersInQuotes will wrap array replacement markers in quotes.
|
|
670
|
-
// This is necessary for YAML format in the context of keyword replacement
|
|
671
|
-
// to preserve the keyword markers while also maintaining valid YAML syntax.
|
|
672
|
-
export function wrapArrayReplaceMarkersInQuotes(body: string, mappings: KeywordMappings): string {
|
|
673
|
-
let newBody = body;
|
|
674
|
-
Object.keys(mappings).forEach((keyword) => {
|
|
675
|
-
newBody = newBody.replace(
|
|
676
|
-
new RegExp('(?<![\'"])@@' + keyword + '@@(?![\'"])', 'g'),
|
|
677
|
-
`"@@${keyword}@@"`
|
|
678
|
-
);
|
|
679
|
-
});
|
|
680
|
-
return newBody;
|
|
681
|
-
}
|
|
682
|
-
|
|
683
|
-
export function convertClientNameToId(name: string, clients: Asset[]): string {
|
|
684
|
-
const found = clients.find((c) => c.name === name);
|
|
685
|
-
return (found && found.client_id) || name;
|
|
686
|
-
}
|
|
687
|
-
|
|
688
|
-
export function convertClientNamesToIds(names: string[], clients: Asset[]): string[] {
|
|
689
|
-
const resolvedNames = names.map((name) => ({ name, resolved: false }));
|
|
690
|
-
const result = clients.reduce((acc: string[], client): string[] => {
|
|
691
|
-
if (names.includes(client.name)) {
|
|
692
|
-
const index = resolvedNames.findIndex((item) => item.name === client.name);
|
|
693
|
-
resolvedNames[index].resolved = true;
|
|
694
|
-
return [...acc, client.client_id];
|
|
695
|
-
}
|
|
696
|
-
return [...acc];
|
|
697
|
-
}, []);
|
|
698
|
-
const unresolved = resolvedNames.filter((item) => !item.resolved).map((item) => item.name);
|
|
699
|
-
// @ts-ignore TODO: come back and refactor to use map instead of reduce.
|
|
700
|
-
return [...unresolved, ...result];
|
|
701
|
-
}
|
|
702
|
-
|
|
703
|
-
export function loadFileAndReplaceKeywords(
|
|
704
|
-
file: string,
|
|
705
|
-
{
|
|
706
|
-
mappings,
|
|
707
|
-
disableKeywordReplacement = false,
|
|
708
|
-
}: { mappings: KeywordMappings; disableKeywordReplacement: boolean }
|
|
709
|
-
): string {
|
|
710
|
-
// Load file and replace keyword mappings
|
|
711
|
-
const f = path.resolve(file);
|
|
712
|
-
try {
|
|
713
|
-
fs.accessSync(f, fsConstants.F_OK);
|
|
714
|
-
if (mappings && !disableKeywordReplacement) {
|
|
715
|
-
return keywordReplace(fs.readFileSync(f, 'utf8'), mappings);
|
|
716
|
-
}
|
|
717
|
-
return fs.readFileSync(f, 'utf8');
|
|
718
|
-
} catch (error) {
|
|
719
|
-
throw new Error(`Unable to load file ${f} due to ${error}`);
|
|
720
|
-
}
|
|
721
|
-
}
|
|
722
|
-
|
|
723
|
-
export function flatten(list: any[]): any[] {
|
|
724
|
-
// Flatten an multiple arrays to single array
|
|
725
|
-
return list.reduce((a, b) => a.concat(Array.isArray(b) ? flatten(b) : b), []);
|
|
726
|
-
}
|
|
727
|
-
|
|
728
|
-
export function convertJsonToString(obj: { [key: string]: any }, spacing = 0): string {
|
|
729
|
-
return JSON.stringify(obj, null, spacing);
|
|
730
|
-
}
|
|
731
|
-
|
|
732
|
-
export function stripFields(obj: Asset, fields: string[]): Asset {
|
|
733
|
-
// Strip object fields supporting dot notation (ie: a.deep.field)
|
|
734
|
-
const stripped: string[] = [];
|
|
735
|
-
|
|
736
|
-
const newObj = { ...obj };
|
|
737
|
-
fields.forEach((f) => {
|
|
738
|
-
if (dotProp.get(newObj, f) !== undefined) {
|
|
739
|
-
dotProp.delete(newObj, f);
|
|
740
|
-
stripped.push(f);
|
|
741
|
-
}
|
|
742
|
-
});
|
|
743
|
-
|
|
744
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (stripped) {
|
|
745
|
-
const name = ['id', 'client_id', 'template', 'name'].reduce((n, k) => newObj[k] || n, '');
|
|
746
|
-
log.debug(`Stripping "${name}" read-only fields ${JSON.stringify(stripped)}`);
|
|
747
|
-
}
|
|
748
|
-
return newObj;
|
|
749
|
-
}
|
|
750
|
-
|
|
751
|
-
export function getEnabledClients(
|
|
752
|
-
assets: Assets,
|
|
753
|
-
connection: Asset,
|
|
754
|
-
existing: Asset[],
|
|
755
|
-
clients: Asset[]
|
|
756
|
-
): string[] | undefined {
|
|
757
|
-
// Convert enabled_clients by name to the id
|
|
758
|
-
|
|
759
|
-
if (connection.enabled_clients === undefined) return undefined; // If no enabled clients passed in, explicitly ignore from management, preventing unintentional disabling of connection.
|
|
760
|
-
|
|
761
|
-
const excludedClientsByNames = (assets.exclude && assets.exclude.clients) || [];
|
|
762
|
-
const excludedClients = convertClientNamesToIds(excludedClientsByNames, clients);
|
|
763
|
-
const enabledClients = [
|
|
764
|
-
...convertClientNamesToIds(connection.enabled_clients || <span class="branch-1 cbranch-no" title="branch not covered" >[],</span> clients).filter(
|
|
765
|
-
(item) => ![...excludedClientsByNames, ...excludedClients].includes(item)
|
|
766
|
-
),
|
|
767
|
-
];
|
|
768
|
-
// If client is excluded and in the existing connection this client is enabled, it should keep enabled
|
|
769
|
-
// If client is excluded and in the existing connection this client is disabled, it should keep disabled
|
|
770
|
-
existing.forEach((conn) => {
|
|
771
|
-
if (conn.name === connection.name) {
|
|
772
|
-
excludedClients.forEach((excludedClient) => {
|
|
773
|
-
if (conn.enabled_clients.includes(excludedClient)) {
|
|
774
|
-
enabledClients.push(excludedClient);
|
|
775
|
-
}
|
|
776
|
-
});
|
|
777
|
-
}
|
|
778
|
-
});
|
|
779
|
-
return enabledClients;
|
|
780
|
-
}
|
|
781
|
-
|
|
782
|
-
export function duplicateItems(arr: Asset[], key: string): Asset[] {
|
|
783
|
-
// Find duplicates objects within array that have the same key value
|
|
784
|
-
const duplicates = arr.reduce(
|
|
785
|
-
(accum: { [key: string]: Asset[] }, obj): { [key: string]: Asset[] } => {
|
|
786
|
-
const keyValue = obj[key];
|
|
787
|
-
if (keyValue) {
|
|
788
|
-
if (!(keyValue in accum)) accum[keyValue] = [];
|
|
789
|
-
accum[keyValue].push(obj);
|
|
790
|
-
}
|
|
791
|
-
return accum;
|
|
792
|
-
},
|
|
793
|
-
{}
|
|
794
|
-
);
|
|
795
|
-
return Object.values(duplicates).filter((g) => g.length > 1);
|
|
796
|
-
}
|
|
797
|
-
|
|
798
|
-
export function filterExcluded(changes: CalculatedChanges, exclude: string[]): CalculatedChanges {
|
|
799
|
-
const { del, update, create, conflicts } = changes;
|
|
800
|
-
|
|
801
|
-
if (!exclude.length) {
|
|
802
|
-
return changes;
|
|
803
|
-
}
|
|
804
|
-
|
|
805
|
-
const filter = (list: Asset[]) => list.filter((item) => !exclude.includes(item.name));
|
|
806
|
-
|
|
807
|
-
return {
|
|
808
|
-
del: filter(del),
|
|
809
|
-
update: filter(update),
|
|
810
|
-
create: filter(create),
|
|
811
|
-
conflicts: filter(conflicts),
|
|
812
|
-
};
|
|
813
|
-
}
|
|
814
|
-
|
|
815
|
-
export function <span class="fstat-no" title="function not covered" >areArraysEquals(</span>x: any[], y: any[]): boolean {
|
|
816
|
-
<span class="cstat-no" title="statement not covered" > return _.isEqual(x && x.sort(), y && y.sort());</span>
|
|
817
|
-
}
|
|
818
|
-
|
|
819
|
-
export const obfuscateSensitiveValues = (
|
|
820
|
-
data: Asset | Asset[] | null,
|
|
821
|
-
sensitiveFieldsToObfuscate: string[]
|
|
822
|
-
): Asset | Asset[] | null => {
|
|
823
|
-
if (data === null) return data;
|
|
824
|
-
if (Array.isArray(data)) {
|
|
825
|
-
return data.map((asset) => obfuscateSensitiveValues(asset, sensitiveFieldsToObfuscate));
|
|
826
|
-
}
|
|
827
|
-
|
|
828
|
-
const newAsset = { ...data };
|
|
829
|
-
sensitiveFieldsToObfuscate.forEach((sensitiveField) => {
|
|
830
|
-
if (dotProp.get(newAsset, sensitiveField) !== undefined) {
|
|
831
|
-
dotProp.set(newAsset, sensitiveField, constants.OBFUSCATED_SECRET_VALUE);
|
|
832
|
-
}
|
|
833
|
-
});
|
|
834
|
-
|
|
835
|
-
return newAsset;
|
|
836
|
-
};
|
|
837
|
-
|
|
838
|
-
// The reverse of `obfuscateSensitiveValues()`, preventing an obfuscated value from being passed to the API
|
|
839
|
-
export const stripObfuscatedFieldsFromPayload = (
|
|
840
|
-
data: Asset | Asset[] | null,
|
|
841
|
-
obfuscatedFields: string[]
|
|
842
|
-
): Asset | Asset[] | null => {
|
|
843
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (data === null) <span class="cstat-no" title="statement not covered" >return data;</span>
|
|
844
|
-
if (Array.isArray(data)) {
|
|
845
|
-
return data.map((asset) => stripObfuscatedFieldsFromPayload(asset, obfuscatedFields));
|
|
846
|
-
}
|
|
847
|
-
|
|
848
|
-
const newAsset = { ...data };
|
|
849
|
-
obfuscatedFields.forEach((sensitiveField) => {
|
|
850
|
-
const obfuscatedFieldValue = dotProp.get(newAsset, sensitiveField);
|
|
851
|
-
if (obfuscatedFieldValue === constants.OBFUSCATED_SECRET_VALUE) {
|
|
852
|
-
dotProp.delete(newAsset, sensitiveField);
|
|
853
|
-
}
|
|
854
|
-
});
|
|
855
|
-
|
|
856
|
-
return newAsset;
|
|
857
|
-
};
|
|
858
|
-
|
|
859
|
-
export const detectInsufficientScopeError = async <T>(
|
|
860
|
-
fn: Function
|
|
861
|
-
): Promise<
|
|
862
|
-
| {
|
|
863
|
-
hadSufficientScopes: true;
|
|
864
|
-
data: T;
|
|
865
|
-
requiredScopes: [];
|
|
866
|
-
}
|
|
867
|
-
| { hadSufficientScopes: false; requiredScopes: string[]; data: null }
|
|
868
|
-
> => {
|
|
869
|
-
try {
|
|
870
|
-
const data = await fn();
|
|
871
|
-
return {
|
|
872
|
-
hadSufficientScopes: true,
|
|
873
|
-
data,
|
|
874
|
-
requiredScopes: [],
|
|
875
|
-
};
|
|
876
|
-
} catch (err) {
|
|
877
|
-
if (err.statusCode === 403 && err.message.includes('Insufficient scope')) {
|
|
878
|
-
const requiredScopes = err.message<span class="branch-0 cbranch-no" title="branch not covered" >?.s</span>plit('Insufficient scope, expected any of: ')<span class="branch-0 cbranch-no" title="branch not covered" >?.s</span>lice(1);
|
|
879
|
-
return {
|
|
880
|
-
hadSufficientScopes: false,
|
|
881
|
-
requiredScopes,
|
|
882
|
-
data: null,
|
|
883
|
-
};
|
|
884
|
-
}
|
|
885
|
-
throw err;
|
|
886
|
-
}
|
|
887
|
-
};
|
|
888
|
-
|
|
889
|
-
export function sleep(ms: number): Promise<void> {
|
|
890
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
891
|
-
}
|
|
892
|
-
|
|
893
|
-
export const isDeprecatedError = (err: { message: string; statusCode: number }): boolean => {
|
|
894
|
-
if (!err) return false;
|
|
895
|
-
return !!(err.statusCode === 403 || err.message?.includes('deprecated feature'));
|
|
896
|
-
};
|
|
897
|
-
</pre></td></tr></table></pre>
|
|
898
|
-
|
|
899
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
900
|
-
</div><!-- /wrapper -->
|
|
901
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
902
|
-
Code coverage generated by
|
|
903
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
904
|
-
at Thu Nov 30 2023 12:19:01 GMT+0000 (Coordinated Universal Time)
|
|
905
|
-
</div>
|
|
906
|
-
<script src="../../prettify.js"></script>
|
|
907
|
-
<script>
|
|
908
|
-
window.onload = function () {
|
|
909
|
-
prettyPrint();
|
|
910
|
-
};
|
|
911
|
-
</script>
|
|
912
|
-
<script src="../../sorter.js"></script>
|
|
913
|
-
<script src="../../block-navigation.js"></script>
|
|
914
|
-
</body>
|
|
915
|
-
</html>
|
|
916
|
-
|