convert-csv-to-json 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/.github/workflows/{nodejs.yml → ci-cd.yml} +18 -1
  2. package/README.md +9 -0
  3. package/SECURITY.md +2 -0
  4. package/package.json +3 -2
  5. package/semantic-versioning.sh +26 -0
  6. package/coverage/base.css +0 -224
  7. package/coverage/block-navigation.js +0 -87
  8. package/coverage/clover.xml +0 -222
  9. package/coverage/coverage-final.json +0 -6
  10. package/coverage/csvToJson/index.html +0 -116
  11. package/coverage/csvToJson/index.js.html +0 -565
  12. package/coverage/csvToJson/src/csvToJson.js.html +0 -757
  13. package/coverage/csvToJson/src/index.html +0 -116
  14. package/coverage/csvToJson/src/util/fileUtils.js.html +0 -151
  15. package/coverage/csvToJson/src/util/index.html +0 -146
  16. package/coverage/csvToJson/src/util/jsonUtils.js.html +0 -127
  17. package/coverage/csvToJson/src/util/stringUtils.js.html +0 -196
  18. package/coverage/favicon.png +0 -0
  19. package/coverage/index.html +0 -146
  20. package/coverage/lcov-report/base.css +0 -224
  21. package/coverage/lcov-report/block-navigation.js +0 -87
  22. package/coverage/lcov-report/csvToJson/index.html +0 -116
  23. package/coverage/lcov-report/csvToJson/index.js.html +0 -565
  24. package/coverage/lcov-report/csvToJson/src/csvToJson.js.html +0 -757
  25. package/coverage/lcov-report/csvToJson/src/index.html +0 -116
  26. package/coverage/lcov-report/csvToJson/src/util/fileUtils.js.html +0 -151
  27. package/coverage/lcov-report/csvToJson/src/util/index.html +0 -146
  28. package/coverage/lcov-report/csvToJson/src/util/jsonUtils.js.html +0 -127
  29. package/coverage/lcov-report/csvToJson/src/util/stringUtils.js.html +0 -196
  30. package/coverage/lcov-report/favicon.png +0 -0
  31. package/coverage/lcov-report/index.html +0 -146
  32. package/coverage/lcov-report/prettify.css +0 -1
  33. package/coverage/lcov-report/prettify.js +0 -2
  34. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  35. package/coverage/lcov-report/sorter.js +0 -196
  36. package/coverage/lcov-report/src/csvToJson.js.html +0 -757
  37. package/coverage/lcov-report/src/index.html +0 -116
  38. package/coverage/lcov-report/src/util/fileUtils.js.html +0 -151
  39. package/coverage/lcov-report/src/util/index.html +0 -146
  40. package/coverage/lcov-report/src/util/jsonUtils.js.html +0 -127
  41. package/coverage/lcov-report/src/util/stringUtils.js.html +0 -196
  42. package/coverage/lcov.info +0 -410
  43. package/coverage/prettify.css +0 -1
  44. package/coverage/prettify.js +0 -2
  45. package/coverage/sort-arrow-sprite.png +0 -0
  46. package/coverage/sorter.js +0 -196
@@ -4,7 +4,7 @@ on: [push]
4
4
 
5
5
  jobs:
6
6
  build:
7
-
7
+ name: build
8
8
  runs-on: ubuntu-latest
9
9
 
10
10
  strategy:
@@ -24,3 +24,20 @@ jobs:
24
24
  npm test
25
25
  env:
26
26
  CI: true
27
+
28
+ release:
29
+ name: release
30
+ runs-on: ubuntu-latest
31
+ steps:
32
+ - uses: actions/checkout@v4
33
+ - uses: fregante/setup-git-user@v2
34
+ - name: Use Node.js 21.x
35
+ uses: actions/setup-node@v4
36
+ with:
37
+ node-version: 21.x
38
+ registry-url: 'https://registry.npmjs.org'
39
+ - name: release
40
+ run: |
41
+ npm run release
42
+ env:
43
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
package/README.md CHANGED
@@ -32,6 +32,7 @@
32
32
  + [Encoding](#encoding)
33
33
  * [Chaining Pattern](#chaining-pattern)
34
34
  - [Development](#development)
35
+ - [CI/CD](#ci/cd-github-action)
35
36
  - [License](#license)
36
37
  - [Buy me a Coffee](#buy-me-a-coffee)
37
38
 
@@ -308,6 +309,14 @@ csvToJson.fieldDelimiter(',')
308
309
  npm run test-debug
309
310
  ~~~
310
311
 
312
+ ## CI/CD github action
313
+ Pushing on the master branch, depending on the git message, an new version will always be released.
314
+ If the commit message contains the keyword:
315
+ * **[MAJOR]**: new major relase, e.g. v1.0.0 -> v2.0.0
316
+ * **[PATCH]**: new patch relase, e.g. v1.0.0 -> v1.0.1
317
+ * without any of the above keywords a new minor relase will be applied, e.g. v1.0.0 -> v1.1.0
318
+
319
+
311
320
  ## License
312
321
  CSVtoJSON is licensed under the GNU General Public License v3.0 [License](LICENSE).
313
322
 
package/SECURITY.md CHANGED
@@ -14,6 +14,7 @@ A generated Github Depedabot PR is normally quickly merged and a new version is
14
14
 
15
15
  | Version | Supported |
16
16
  | ------- | ------------------ |
17
+ | 2.2.0 | :white_check_mark: |
17
18
  | 2.0.0 | :white_check_mark: |
18
19
  | 1.4.0 | :white_check_mark: |
19
20
  | 1.3.3 | :white_check_mark: |
@@ -23,6 +24,7 @@ A generated Github Depedabot PR is normally quickly merged and a new version is
23
24
 
24
25
  | Version | Supported |
25
26
  | ------- | ------------------ |
27
+ | 2.2.0 | :white_check_mark: |
26
28
  | 2.0.0 | :white_check_mark: |
27
29
  | 1.4.0 | :white_check_mark: |
28
30
  | 1.3.3 | :warning: moderate dev dependencies vulnerability|
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "convert-csv-to-json",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "Convert CSV to JSON",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -8,7 +8,8 @@
8
8
  "test-debug": "node --inspect-brk node_modules/.bin/jest --runInBand --detectOpenHandles",
9
9
  "version-patch": "npm version patch --force && npm publish && git push --follow-tags",
10
10
  "version-minor": "npm version minor --force && npm publish && git push --follow-tags",
11
- "version-major": "npm version major --force && npm publish && git push --follow-tags"
11
+ "version-major": "npm version major --force && npm publish && git push --follow-tags",
12
+ "release": "./semantic-versioning.sh"
12
13
  },
13
14
  "repository": {
14
15
  "type": "git",
@@ -0,0 +1,26 @@
1
+ #!/bin/bash
2
+ echo "Start Semantic Versioning release...";
3
+ echo "Checking branch...";
4
+ RELEASE_BRANCH="master";
5
+ CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD);
6
+ if [ $RELEASE_BRANCH != $CURRENT_BRANCH ]; then
7
+ echo "A new release version is only bumped on branch: $RELEASE_BRANCH.";
8
+ echo "Exiting...";
9
+ exit 0;
10
+ fi
11
+ PATCH_MSG="[PATCH]";
12
+ MAJOR_MSG="[MAJOR]";
13
+ echo "Parsing git message...";
14
+ COMMIT_MSG=$(git log -1 --pretty=format:"%s");
15
+ echo "Last commit message: ${COMMIT_MSG}";
16
+ if [[ $COMMIT_MSG == *"$PATCH_MSG"* ]]; then
17
+ echo "Executing new PATCH release..."
18
+ npm run version-patch;
19
+ elif [[ $COMMIT_MSG == *"$MAJOR_MSG"* ]]; then
20
+ echo "Executing new MAJOR release..."
21
+ npm run version-major;
22
+ else
23
+ echo "Executing new MINOR release...";
24
+ npm run version-minor;
25
+ fi
26
+ echo "End Semantic Versioning release.";
package/coverage/base.css DELETED
@@ -1,224 +0,0 @@
1
- body, html {
2
- margin:0; padding: 0;
3
- height: 100%;
4
- }
5
- body {
6
- font-family: Helvetica Neue, Helvetica, Arial;
7
- font-size: 14px;
8
- color:#333;
9
- }
10
- .small { font-size: 12px; }
11
- *, *:after, *:before {
12
- -webkit-box-sizing:border-box;
13
- -moz-box-sizing:border-box;
14
- box-sizing:border-box;
15
- }
16
- h1 { font-size: 20px; margin: 0;}
17
- h2 { font-size: 14px; }
18
- pre {
19
- font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
20
- margin: 0;
21
- padding: 0;
22
- -moz-tab-size: 2;
23
- -o-tab-size: 2;
24
- tab-size: 2;
25
- }
26
- a { color:#0074D9; text-decoration:none; }
27
- a:hover { text-decoration:underline; }
28
- .strong { font-weight: bold; }
29
- .space-top1 { padding: 10px 0 0 0; }
30
- .pad2y { padding: 20px 0; }
31
- .pad1y { padding: 10px 0; }
32
- .pad2x { padding: 0 20px; }
33
- .pad2 { padding: 20px; }
34
- .pad1 { padding: 10px; }
35
- .space-left2 { padding-left:55px; }
36
- .space-right2 { padding-right:20px; }
37
- .center { text-align:center; }
38
- .clearfix { display:block; }
39
- .clearfix:after {
40
- content:'';
41
- display:block;
42
- height:0;
43
- clear:both;
44
- visibility:hidden;
45
- }
46
- .fl { float: left; }
47
- @media only screen and (max-width:640px) {
48
- .col3 { width:100%; max-width:100%; }
49
- .hide-mobile { display:none!important; }
50
- }
51
-
52
- .quiet {
53
- color: #7f7f7f;
54
- color: rgba(0,0,0,0.5);
55
- }
56
- .quiet a { opacity: 0.7; }
57
-
58
- .fraction {
59
- font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
60
- font-size: 10px;
61
- color: #555;
62
- background: #E8E8E8;
63
- padding: 4px 5px;
64
- border-radius: 3px;
65
- vertical-align: middle;
66
- }
67
-
68
- div.path a:link, div.path a:visited { color: #333; }
69
- table.coverage {
70
- border-collapse: collapse;
71
- margin: 10px 0 0 0;
72
- padding: 0;
73
- }
74
-
75
- table.coverage td {
76
- margin: 0;
77
- padding: 0;
78
- vertical-align: top;
79
- }
80
- table.coverage td.line-count {
81
- text-align: right;
82
- padding: 0 5px 0 20px;
83
- }
84
- table.coverage td.line-coverage {
85
- text-align: right;
86
- padding-right: 10px;
87
- min-width:20px;
88
- }
89
-
90
- table.coverage td span.cline-any {
91
- display: inline-block;
92
- padding: 0 5px;
93
- width: 100%;
94
- }
95
- .missing-if-branch {
96
- display: inline-block;
97
- margin-right: 5px;
98
- border-radius: 3px;
99
- position: relative;
100
- padding: 0 4px;
101
- background: #333;
102
- color: yellow;
103
- }
104
-
105
- .skip-if-branch {
106
- display: none;
107
- margin-right: 10px;
108
- position: relative;
109
- padding: 0 4px;
110
- background: #ccc;
111
- color: white;
112
- }
113
- .missing-if-branch .typ, .skip-if-branch .typ {
114
- color: inherit !important;
115
- }
116
- .coverage-summary {
117
- border-collapse: collapse;
118
- width: 100%;
119
- }
120
- .coverage-summary tr { border-bottom: 1px solid #bbb; }
121
- .keyline-all { border: 1px solid #ddd; }
122
- .coverage-summary td, .coverage-summary th { padding: 10px; }
123
- .coverage-summary tbody { border: 1px solid #bbb; }
124
- .coverage-summary td { border-right: 1px solid #bbb; }
125
- .coverage-summary td:last-child { border-right: none; }
126
- .coverage-summary th {
127
- text-align: left;
128
- font-weight: normal;
129
- white-space: nowrap;
130
- }
131
- .coverage-summary th.file { border-right: none !important; }
132
- .coverage-summary th.pct { }
133
- .coverage-summary th.pic,
134
- .coverage-summary th.abs,
135
- .coverage-summary td.pct,
136
- .coverage-summary td.abs { text-align: right; }
137
- .coverage-summary td.file { white-space: nowrap; }
138
- .coverage-summary td.pic { min-width: 120px !important; }
139
- .coverage-summary tfoot td { }
140
-
141
- .coverage-summary .sorter {
142
- height: 10px;
143
- width: 7px;
144
- display: inline-block;
145
- margin-left: 0.5em;
146
- background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
147
- }
148
- .coverage-summary .sorted .sorter {
149
- background-position: 0 -20px;
150
- }
151
- .coverage-summary .sorted-desc .sorter {
152
- background-position: 0 -10px;
153
- }
154
- .status-line { height: 10px; }
155
- /* yellow */
156
- .cbranch-no { background: yellow !important; color: #111; }
157
- /* dark red */
158
- .red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
159
- .low .chart { border:1px solid #C21F39 }
160
- .highlighted,
161
- .highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
162
- background: #C21F39 !important;
163
- }
164
- /* medium red */
165
- .cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
166
- /* light red */
167
- .low, .cline-no { background:#FCE1E5 }
168
- /* light green */
169
- .high, .cline-yes { background:rgb(230,245,208) }
170
- /* medium green */
171
- .cstat-yes { background:rgb(161,215,106) }
172
- /* dark green */
173
- .status-line.high, .high .cover-fill { background:rgb(77,146,33) }
174
- .high .chart { border:1px solid rgb(77,146,33) }
175
- /* dark yellow (gold) */
176
- .status-line.medium, .medium .cover-fill { background: #f9cd0b; }
177
- .medium .chart { border:1px solid #f9cd0b; }
178
- /* light yellow */
179
- .medium { background: #fff4c2; }
180
-
181
- .cstat-skip { background: #ddd; color: #111; }
182
- .fstat-skip { background: #ddd; color: #111 !important; }
183
- .cbranch-skip { background: #ddd !important; color: #111; }
184
-
185
- span.cline-neutral { background: #eaeaea; }
186
-
187
- .coverage-summary td.empty {
188
- opacity: .5;
189
- padding-top: 4px;
190
- padding-bottom: 4px;
191
- line-height: 1;
192
- color: #888;
193
- }
194
-
195
- .cover-fill, .cover-empty {
196
- display:inline-block;
197
- height: 12px;
198
- }
199
- .chart {
200
- line-height: 0;
201
- }
202
- .cover-empty {
203
- background: white;
204
- }
205
- .cover-full {
206
- border-right: none !important;
207
- }
208
- pre.prettyprint {
209
- border: none !important;
210
- padding: 0 !important;
211
- margin: 0 !important;
212
- }
213
- .com { color: #999 !important; }
214
- .ignore-none { color: #999; font-weight: normal; }
215
-
216
- .wrapper {
217
- min-height: 100%;
218
- height: auto !important;
219
- height: 100%;
220
- margin: 0 auto -48px;
221
- }
222
- .footer, .push {
223
- height: 48px;
224
- }
@@ -1,87 +0,0 @@
1
- /* eslint-disable */
2
- var jumpToCode = (function init() {
3
- // Classes of code we would like to highlight in the file view
4
- var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
5
-
6
- // Elements to highlight in the file listing view
7
- var fileListingElements = ['td.pct.low'];
8
-
9
- // We don't want to select elements that are direct descendants of another match
10
- var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
11
-
12
- // Selecter that finds elements on the page to which we can jump
13
- var selector =
14
- fileListingElements.join(', ') +
15
- ', ' +
16
- notSelector +
17
- missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
18
-
19
- // The NodeList of matching elements
20
- var missingCoverageElements = document.querySelectorAll(selector);
21
-
22
- var currentIndex;
23
-
24
- function toggleClass(index) {
25
- missingCoverageElements
26
- .item(currentIndex)
27
- .classList.remove('highlighted');
28
- missingCoverageElements.item(index).classList.add('highlighted');
29
- }
30
-
31
- function makeCurrent(index) {
32
- toggleClass(index);
33
- currentIndex = index;
34
- missingCoverageElements.item(index).scrollIntoView({
35
- behavior: 'smooth',
36
- block: 'center',
37
- inline: 'center'
38
- });
39
- }
40
-
41
- function goToPrevious() {
42
- var nextIndex = 0;
43
- if (typeof currentIndex !== 'number' || currentIndex === 0) {
44
- nextIndex = missingCoverageElements.length - 1;
45
- } else if (missingCoverageElements.length > 1) {
46
- nextIndex = currentIndex - 1;
47
- }
48
-
49
- makeCurrent(nextIndex);
50
- }
51
-
52
- function goToNext() {
53
- var nextIndex = 0;
54
-
55
- if (
56
- typeof currentIndex === 'number' &&
57
- currentIndex < missingCoverageElements.length - 1
58
- ) {
59
- nextIndex = currentIndex + 1;
60
- }
61
-
62
- makeCurrent(nextIndex);
63
- }
64
-
65
- return function jump(event) {
66
- if (
67
- document.getElementById('fileSearch') === document.activeElement &&
68
- document.activeElement != null
69
- ) {
70
- // if we're currently focused on the search input, we don't want to navigate
71
- return;
72
- }
73
-
74
- switch (event.which) {
75
- case 78: // n
76
- case 74: // j
77
- goToNext();
78
- break;
79
- case 66: // b
80
- case 75: // k
81
- case 80: // p
82
- goToPrevious();
83
- break;
84
- }
85
- };
86
- })();
87
- window.addEventListener('keydown', jumpToCode);
@@ -1,222 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1708197943218" clover="3.2.0">
3
- <project timestamp="1708197943218" name="All files">
4
- <metrics statements="192" coveredstatements="152" conditionals="85" coveredconditionals="73" methods="44" coveredmethods="27" elements="321" coveredelements="252" complexity="0" loc="192" ncloc="192" packages="3" files="5" classes="5"/>
5
- <package name="csvToJson">
6
- <metrics statements="55" coveredstatements="33" conditionals="8" coveredconditionals="2" methods="17" coveredmethods="7"/>
7
- <file name="index.js" path="/workspaces/csvToJson/index.js">
8
- <metrics statements="55" coveredstatements="33" conditionals="8" coveredconditionals="2" methods="17" coveredmethods="7"/>
9
- <line num="3" count="3" type="stmt"/>
10
- <line num="5" count="3" type="stmt"/>
11
- <line num="18" count="3" type="cond" truecount="1" falsecount="0"/>
12
- <line num="19" count="14" type="stmt"/>
13
- <line num="20" count="14" type="stmt"/>
14
- <line num="26" count="3" type="cond" truecount="0" falsecount="1"/>
15
- <line num="27" count="12" type="stmt"/>
16
- <line num="28" count="12" type="stmt"/>
17
- <line num="33" count="3" type="stmt"/>
18
- <line num="34" count="14" type="stmt"/>
19
- <line num="35" count="14" type="stmt"/>
20
- <line num="41" count="3" type="stmt"/>
21
- <line num="42" count="1" type="stmt"/>
22
- <line num="43" count="1" type="stmt"/>
23
- <line num="49" count="3" type="stmt"/>
24
- <line num="50" count="6" type="stmt"/>
25
- <line num="51" count="6" type="stmt"/>
26
- <line num="57" count="3" type="stmt"/>
27
- <line num="58" count="0" type="stmt"/>
28
- <line num="59" count="0" type="stmt"/>
29
- <line num="65" count="3" type="stmt"/>
30
- <line num="66" count="0" type="stmt"/>
31
- <line num="67" count="0" type="stmt"/>
32
- <line num="73" count="3" type="stmt"/>
33
- <line num="74" count="0" type="stmt"/>
34
- <line num="75" count="0" type="stmt"/>
35
- <line num="81" count="3" type="stmt"/>
36
- <line num="82" count="0" type="stmt"/>
37
- <line num="83" count="0" type="stmt"/>
38
- <line num="89" count="3" type="stmt"/>
39
- <line num="90" count="1" type="stmt"/>
40
- <line num="91" count="1" type="stmt"/>
41
- <line num="97" count="3" type="stmt"/>
42
- <line num="98" count="0" type="stmt"/>
43
- <line num="99" count="0" type="stmt"/>
44
- <line num="105" count="3" type="stmt"/>
45
- <line num="106" count="0" type="stmt"/>
46
- <line num="107" count="0" type="stmt"/>
47
- <line num="113" count="3" type="stmt"/>
48
- <line num="114" count="0" type="stmt"/>
49
- <line num="115" count="0" type="stmt"/>
50
- <line num="124" count="3" type="stmt"/>
51
- <line num="125" count="0" type="cond" truecount="0" falsecount="2"/>
52
- <line num="126" count="0" type="stmt"/>
53
- <line num="128" count="0" type="cond" truecount="0" falsecount="2"/>
54
- <line num="129" count="0" type="stmt"/>
55
- <line num="131" count="0" type="stmt"/>
56
- <line num="140" count="3" type="stmt"/>
57
- <line num="141" count="16" type="cond" truecount="1" falsecount="1"/>
58
- <line num="142" count="0" type="stmt"/>
59
- <line num="144" count="16" type="stmt"/>
60
- <line num="147" count="3" type="stmt"/>
61
- <line num="148" count="0" type="stmt"/>
62
- <line num="158" count="3" type="stmt"/>
63
- <line num="159" count="0" type="stmt"/>
64
- </file>
65
- </package>
66
- <package name="csvToJson.src">
67
- <metrics statements="111" coveredstatements="100" conditionals="61" coveredconditionals="57" methods="20" coveredmethods="16"/>
68
- <file name="csvToJson.js" path="/workspaces/csvToJson/src/csvToJson.js">
69
- <metrics statements="111" coveredstatements="100" conditionals="61" coveredconditionals="57" methods="20" coveredmethods="16"/>
70
- <line num="3" count="3" type="stmt"/>
71
- <line num="4" count="3" type="stmt"/>
72
- <line num="5" count="3" type="stmt"/>
73
- <line num="7" count="3" type="stmt"/>
74
- <line num="8" count="3" type="stmt"/>
75
- <line num="13" count="14" type="stmt"/>
76
- <line num="14" count="14" type="stmt"/>
77
- <line num="18" count="12" type="stmt"/>
78
- <line num="19" count="12" type="stmt"/>
79
- <line num="23" count="14" type="stmt"/>
80
- <line num="24" count="14" type="stmt"/>
81
- <line num="28" count="1" type="cond" truecount="1" falsecount="1"/>
82
- <line num="29" count="0" type="stmt"/>
83
- <line num="31" count="1" type="stmt"/>
84
- <line num="32" count="1" type="stmt"/>
85
- <line num="37" count="6" type="stmt"/>
86
- <line num="38" count="6" type="stmt"/>
87
- <line num="42" count="0" type="stmt"/>
88
- <line num="43" count="0" type="stmt"/>
89
- <line num="47" count="0" type="stmt"/>
90
- <line num="48" count="0" type="stmt"/>
91
- <line num="52" count="0" type="stmt"/>
92
- <line num="53" count="0" type="stmt"/>
93
- <line num="54" count="0" type="stmt"/>
94
- <line num="55" count="0" type="stmt"/>
95
- <line num="59" count="16" type="stmt"/>
96
- <line num="60" count="16" type="stmt"/>
97
- <line num="64" count="0" type="stmt"/>
98
- <line num="68" count="16" type="stmt"/>
99
- <line num="69" count="13" type="stmt"/>
100
- <line num="70" count="13" type="stmt"/>
101
- <line num="71" count="13" type="stmt"/>
102
- <line num="72" count="13" type="stmt"/>
103
- <line num="74" count="13" type="cond" truecount="2" falsecount="0"/>
104
- <line num="75" count="5" type="stmt"/>
105
- <line num="76" count="5" type="stmt"/>
106
- <line num="79" count="13" type="stmt"/>
107
- <line num="80" count="13" type="stmt"/>
108
- <line num="82" count="193" type="cond" truecount="2" falsecount="0"/>
109
- <line num="83" count="14" type="stmt"/>
110
- <line num="86" count="179" type="stmt"/>
111
- <line num="88" count="193" type="cond" truecount="2" falsecount="0"/>
112
- <line num="89" count="179" type="stmt"/>
113
- <line num="92" count="13" type="stmt"/>
114
- <line num="96" count="30" type="cond" truecount="2" falsecount="0"/>
115
- <line num="97" count="27" type="stmt"/>
116
- <line num="99" count="3" type="stmt"/>
117
- <line num="103" count="13" type="cond" truecount="4" falsecount="0"/>
118
- <line num="104" count="1" type="stmt"/>
119
- <line num="106" count="12" type="stmt"/>
120
- <line num="110" count="179" type="stmt"/>
121
- <line num="111" count="179" type="stmt"/>
122
- <line num="112" count="3191" type="stmt"/>
123
- <line num="113" count="3191" type="stmt"/>
124
- <line num="115" count="3191" type="cond" truecount="2" falsecount="0"/>
125
- <line num="116" count="8" type="stmt"/>
126
- <line num="119" count="3191" type="cond" truecount="4" falsecount="0"/>
127
- <line num="120" count="28" type="stmt"/>
128
- <line num="123" count="3191" type="stmt"/>
129
- <line num="125" count="179" type="stmt"/>
130
- <line num="129" count="8" type="stmt"/>
131
- <line num="133" count="8" type="stmt"/>
132
- <line num="134" count="8" type="stmt"/>
133
- <line num="135" count="8" type="cond" truecount="2" falsecount="0"/>
134
- <line num="136" count="2" type="stmt"/>
135
- <line num="137" count="6" type="stmt"/>
136
- <line num="140" count="8" type="stmt"/>
137
- <line num="144" count="3191" type="cond" truecount="2" falsecount="0"/>
138
- <line num="145" count="104" type="cond" truecount="5" falsecount="0"/>
139
- <line num="146" count="8" type="stmt"/>
140
- <line num="149" count="3183" type="stmt"/>
141
- <line num="153" count="16" type="cond" truecount="2" falsecount="0"/>
142
- <line num="154" count="5" type="cond" truecount="2" falsecount="0"/>
143
- <line num="155" count="1" type="stmt"/>
144
- <line num="157" count="4" type="cond" truecount="2" falsecount="0"/>
145
- <line num="158" count="1" type="stmt"/>
146
- <line num="160" count="3" type="cond" truecount="2" falsecount="0"/>
147
- <line num="161" count="1" type="stmt"/>
148
- <line num="167" count="12" type="stmt"/>
149
- <line num="171" count="14" type="cond" truecount="2" falsecount="0"/>
150
- <line num="172" count="2" type="stmt"/>
151
- <line num="174" count="12" type="stmt"/>
152
- <line num="175" count="12" type="stmt"/>
153
- <line num="176" count="12" type="cond" truecount="2" falsecount="0"/>
154
- <line num="177" count="5" type="stmt"/>
155
- <line num="179" count="5" type="stmt"/>
156
- <line num="180" count="5" type="stmt"/>
157
- <line num="181" count="5" type="stmt"/>
158
- <line num="182" count="5" type="stmt"/>
159
- <line num="183" count="336" type="cond" truecount="2" falsecount="0"/>
160
- <line num="184" count="1" type="stmt"/>
161
- <line num="185" count="1" type="stmt"/>
162
- <line num="186" count="1" type="stmt"/>
163
- <line num="189" count="335" type="cond" truecount="4" falsecount="0"/>
164
- <line num="190" count="295" type="stmt"/>
165
- <line num="191" count="40" type="cond" truecount="4" falsecount="0"/>
166
- <line num="192" count="2" type="stmt"/>
167
- <line num="193" count="38" type="cond" truecount="2" falsecount="0"/>
168
- <line num="194" count="27" type="stmt"/>
169
- <line num="195" count="27" type="stmt"/>
170
- <line num="196" count="27" type="stmt"/>
171
- <line num="198" count="11" type="cond" truecount="2" falsecount="0"/>
172
- <line num="200" count="1" type="stmt"/>
173
- <line num="203" count="10" type="cond" truecount="2" falsecount="0"/>
174
- <line num="204" count="5" type="stmt"/>
175
- <line num="208" count="5" type="stmt"/>
176
- <line num="214" count="5" type="cond" truecount="1" falsecount="1"/>
177
- <line num="215" count="0" type="stmt"/>
178
- <line num="217" count="5" type="stmt"/>
179
- <line num="219" count="7" type="stmt"/>
180
- <line num="224" count="3" type="stmt"/>
181
- </file>
182
- </package>
183
- <package name="csvToJson.src.util">
184
- <metrics statements="26" coveredstatements="19" conditionals="16" coveredconditionals="14" methods="7" coveredmethods="4"/>
185
- <file name="fileUtils.js" path="/workspaces/csvToJson/src/util/fileUtils.js">
186
- <metrics statements="7" coveredstatements="3" conditionals="2" coveredconditionals="0" methods="3" coveredmethods="1"/>
187
- <line num="3" count="3" type="stmt"/>
188
- <line num="8" count="16" type="stmt"/>
189
- <line num="12" count="0" type="stmt"/>
190
- <line num="13" count="0" type="cond" truecount="0" falsecount="2"/>
191
- <line num="14" count="0" type="stmt"/>
192
- <line num="16" count="0" type="stmt"/>
193
- <line num="22" count="3" type="stmt"/>
194
- </file>
195
- <file name="jsonUtils.js" path="/workspaces/csvToJson/src/util/jsonUtils.js">
196
- <metrics statements="4" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="0"/>
197
- <line num="6" count="0" type="stmt"/>
198
- <line num="7" count="0" type="stmt"/>
199
- <line num="9" count="0" type="stmt"/>
200
- <line num="15" count="3" type="stmt"/>
201
- </file>
202
- <file name="stringUtils.js" path="/workspaces/csvToJson/src/util/stringUtils.js">
203
- <metrics statements="15" coveredstatements="15" conditionals="14" coveredconditionals="14" methods="3" coveredmethods="3"/>
204
- <line num="6" count="3192" type="stmt"/>
205
- <line num="10" count="42" type="cond" truecount="4" falsecount="0"/>
206
- <line num="11" count="3" type="stmt"/>
207
- <line num="14" count="39" type="stmt"/>
208
- <line num="15" count="39" type="cond" truecount="2" falsecount="0"/>
209
- <line num="16" count="10" type="stmt"/>
210
- <line num="19" count="29" type="cond" truecount="4" falsecount="0"/>
211
- <line num="20" count="4" type="stmt"/>
212
- <line num="22" count="25" type="stmt"/>
213
- <line num="26" count="211" type="cond" truecount="2" falsecount="0"/>
214
- <line num="27" count="209" type="stmt"/>
215
- <line num="28" count="209" type="cond" truecount="2" falsecount="0"/>
216
- <line num="29" count="192" type="stmt"/>
217
- <line num="33" count="19" type="stmt"/>
218
- <line num="37" count="4" type="stmt"/>
219
- </file>
220
- </package>
221
- </project>
222
- </coverage>