slimjson 1.1.1 → 1.1.2
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/README.md +1 -1
- package/README_EN.md +1 -1
- package/compress.js +43 -74
- package/coverage/clover.xml +275 -0
- package/coverage/coverage-final.json +2 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/compress.js.html +1630 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +116 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +210 -0
- package/coverage/lcov.info +636 -0
- package/data/data.json +96365 -0
- package/data/data.json.slim +1 -0
- package/package.json +1 -1
- package/test.js +719 -214
- package/.claude/settings.local.json +0 -13
package/README.md
CHANGED
package/README_EN.md
CHANGED
package/compress.js
CHANGED
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
*/
|
|
14
14
|
function mergeSchemas(s1, s2) {
|
|
15
15
|
if (!Array.isArray(s1) || !Array.isArray(s2)) return s1;
|
|
16
|
-
|
|
17
16
|
const first1 = s1[0];
|
|
18
17
|
const first2 = s2[0];
|
|
19
18
|
|
|
@@ -40,12 +39,7 @@ function mergeSchemas(s1, s2) {
|
|
|
40
39
|
}
|
|
41
40
|
|
|
42
41
|
// 两者都是数组(不是对象 schema)→ 递归合并第一个元素
|
|
43
|
-
|
|
44
|
-
return [mergeSchemas(first1, first2)];
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
// 其他情况(原始值数组或类型不匹配)→ 取第一个
|
|
48
|
-
return s1;
|
|
42
|
+
return [mergeSchemas(first1, first2)];
|
|
49
43
|
}
|
|
50
44
|
|
|
51
45
|
/**
|
|
@@ -76,12 +70,10 @@ function inferSchema(value) {
|
|
|
76
70
|
return [inferObjectSchema(objects)];
|
|
77
71
|
}
|
|
78
72
|
// 原始值数组 - 不压缩,由父级处理
|
|
79
|
-
return
|
|
80
|
-
}
|
|
81
|
-
if (typeof value === 'object' && value !== null) {
|
|
82
|
-
return inferObjectSchema([value]);
|
|
73
|
+
return;
|
|
83
74
|
}
|
|
84
|
-
|
|
75
|
+
// value 是单个对象
|
|
76
|
+
return inferObjectSchema([value]);
|
|
85
77
|
}
|
|
86
78
|
|
|
87
79
|
/**
|
|
@@ -106,7 +98,7 @@ function inferObjectSchema(objects) {
|
|
|
106
98
|
}
|
|
107
99
|
|
|
108
100
|
return keyOrder.map(key => {
|
|
109
|
-
const values = keyValues.get(key)
|
|
101
|
+
const values = keyValues.get(key);
|
|
110
102
|
if (values.length === 0) return key;
|
|
111
103
|
|
|
112
104
|
const sample = values[0];
|
|
@@ -147,15 +139,12 @@ function inferObjectSchema(objects) {
|
|
|
147
139
|
for (const v of values) {
|
|
148
140
|
if (Array.isArray(v)) {
|
|
149
141
|
const s = inferSchema(v);
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
const inner = Array.isArray(s) && s.length === 1 ? s[0] : s;
|
|
153
|
-
merged = merged ? mergeSchemas(merged, inner) : inner;
|
|
154
|
-
}
|
|
142
|
+
const inner = s[0];
|
|
143
|
+
merged = merged ? mergeSchemas(merged, inner) : inner;
|
|
155
144
|
}
|
|
156
145
|
}
|
|
157
146
|
// 再包一层 [] 表示"数组的数组"
|
|
158
|
-
return { [key]: [merged
|
|
147
|
+
return { [key]: [merged] };
|
|
159
148
|
}
|
|
160
149
|
|
|
161
150
|
// 原始值数组(如 ["张三","李四"])→ 不压缩,直接用 key 名
|
|
@@ -180,31 +169,21 @@ function compressWithSchema(value, schema) {
|
|
|
180
169
|
return value.map(item => compressWithSchema(item, inner));
|
|
181
170
|
}
|
|
182
171
|
|
|
183
|
-
// schema 包含 undefined → 原始值数组,不压缩
|
|
184
|
-
if (Array.isArray(schema) && schema.some(s => s === undefined || s === null)) {
|
|
185
|
-
return value;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
172
|
// schema 是数组(对象 schema)→ 值是对象
|
|
189
|
-
if (
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
return compressWithSchema(val, valueSchema);
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
return value;
|
|
173
|
+
if (!value || typeof value !== 'object') return value;
|
|
174
|
+
return schema.map(fieldDef => {
|
|
175
|
+
let key, valueSchema;
|
|
176
|
+
if (typeof fieldDef === 'string') {
|
|
177
|
+
key = fieldDef;
|
|
178
|
+
valueSchema = undefined;
|
|
179
|
+
} else {
|
|
180
|
+
key = Object.keys(fieldDef)[0];
|
|
181
|
+
valueSchema = fieldDef[key];
|
|
182
|
+
}
|
|
183
|
+
const val = value[key];
|
|
184
|
+
if (val == null) return null;
|
|
185
|
+
return compressWithSchema(val, valueSchema);
|
|
186
|
+
});
|
|
208
187
|
}
|
|
209
188
|
|
|
210
189
|
/**
|
|
@@ -257,41 +236,32 @@ function decompressWithSchema(data, schema) {
|
|
|
257
236
|
|
|
258
237
|
// schema 是 [innerSchema] → 还原为数组
|
|
259
238
|
if (Array.isArray(schema) && schema.length === 1 && Array.isArray(schema[0])) {
|
|
260
|
-
if (!Array.isArray(data)) return data;
|
|
261
239
|
const inner = schema[0];
|
|
262
240
|
return data.map(item => decompressWithSchema(item, inner));
|
|
263
241
|
}
|
|
264
242
|
|
|
265
|
-
//
|
|
266
|
-
if (
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
} else if (typeof fieldDef === 'object' && fieldDef !== null) {
|
|
282
|
-
key = Object.keys(fieldDef)[0];
|
|
283
|
-
valueSchema = fieldDef[key];
|
|
284
|
-
} else {
|
|
285
|
-
continue;
|
|
286
|
-
}
|
|
287
|
-
const val = data[i];
|
|
288
|
-
if (val === undefined) { obj[key] = null; continue; }
|
|
289
|
-
obj[key] = decompressWithSchema(val, valueSchema);
|
|
243
|
+
// 原始值(混合数组中的原始元素)→ 直接返回
|
|
244
|
+
if (typeof data !== 'object') return data;
|
|
245
|
+
|
|
246
|
+
// 对象 schema → 还原为对象
|
|
247
|
+
const obj = {};
|
|
248
|
+
for (let i = 0; i < schema.length; i++) {
|
|
249
|
+
const fieldDef = schema[i];
|
|
250
|
+
let key, valueSchema;
|
|
251
|
+
if (typeof fieldDef === 'string') {
|
|
252
|
+
key = fieldDef;
|
|
253
|
+
valueSchema = undefined;
|
|
254
|
+
} else if (typeof fieldDef === 'object' && fieldDef !== null) {
|
|
255
|
+
key = Object.keys(fieldDef)[0];
|
|
256
|
+
valueSchema = fieldDef[key];
|
|
257
|
+
} else {
|
|
258
|
+
continue;
|
|
290
259
|
}
|
|
291
|
-
|
|
260
|
+
const val = data[i];
|
|
261
|
+
if (val === undefined) { obj[key] = null; continue; }
|
|
262
|
+
obj[key] = decompressWithSchema(val, valueSchema);
|
|
292
263
|
}
|
|
293
|
-
|
|
294
|
-
return data;
|
|
264
|
+
return obj;
|
|
295
265
|
}
|
|
296
266
|
|
|
297
267
|
/**
|
|
@@ -494,8 +464,7 @@ function parse(text) {
|
|
|
494
464
|
skipWs();
|
|
495
465
|
if (text[pos] !== ':') error('Expected :');
|
|
496
466
|
pos++;
|
|
497
|
-
|
|
498
|
-
obj[key] = val;
|
|
467
|
+
obj[key] = parseValue();
|
|
499
468
|
skipWs();
|
|
500
469
|
if (text[pos] === '}') { pos++; return obj; }
|
|
501
470
|
if (text[pos] === ',') { pos++; continue; }
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<coverage generated="1779512114158" clover="3.2.0">
|
|
3
|
+
<project timestamp="1779512114159" name="All files">
|
|
4
|
+
<metrics statements="266" coveredstatements="266" conditionals="295" coveredconditionals="295" methods="33" coveredmethods="33" elements="594" coveredelements="594" complexity="0" loc="266" ncloc="266" packages="1" files="1" classes="1"/>
|
|
5
|
+
<file name="compress.js" path="D:\git\slimjson\compress.js">
|
|
6
|
+
<metrics statements="266" coveredstatements="266" conditionals="295" coveredconditionals="295" methods="33" coveredmethods="33"/>
|
|
7
|
+
<line num="15" count="34" type="cond" truecount="4" falsecount="0"/>
|
|
8
|
+
<line num="16" count="32" type="stmt"/>
|
|
9
|
+
<line num="17" count="32" type="stmt"/>
|
|
10
|
+
<line num="20" count="32" type="cond" truecount="5" falsecount="0"/>
|
|
11
|
+
<line num="22" count="32" type="cond" truecount="5" falsecount="0"/>
|
|
12
|
+
<line num="25" count="32" type="cond" truecount="4" falsecount="0"/>
|
|
13
|
+
<line num="26" count="16" type="stmt"/>
|
|
14
|
+
<line num="27" count="16" type="stmt"/>
|
|
15
|
+
<line num="28" count="16" type="stmt"/>
|
|
16
|
+
<line num="29" count="36" type="cond" truecount="2" falsecount="0"/>
|
|
17
|
+
<line num="31" count="16" type="stmt"/>
|
|
18
|
+
<line num="32" count="28" type="cond" truecount="2" falsecount="0"/>
|
|
19
|
+
<line num="33" count="28" type="cond" truecount="2" falsecount="0"/>
|
|
20
|
+
<line num="34" count="6" type="stmt"/>
|
|
21
|
+
<line num="35" count="6" type="stmt"/>
|
|
22
|
+
<line num="38" count="16" type="stmt"/>
|
|
23
|
+
<line num="42" count="16" type="stmt"/>
|
|
24
|
+
<line num="49" count="117" type="cond" truecount="2" falsecount="0"/>
|
|
25
|
+
<line num="50" count="115" type="cond" truecount="2" falsecount="0"/>
|
|
26
|
+
<line num="51" count="113" type="stmt"/>
|
|
27
|
+
<line num="52" count="113" type="cond" truecount="5" falsecount="0"/>
|
|
28
|
+
<line num="54" count="81" type="stmt"/>
|
|
29
|
+
<line num="56" count="32" type="cond" truecount="2" falsecount="0"/>
|
|
30
|
+
<line num="58" count="20" type="stmt"/>
|
|
31
|
+
<line num="59" count="20" type="stmt"/>
|
|
32
|
+
<line num="60" count="36" type="stmt"/>
|
|
33
|
+
<line num="61" count="36" type="cond" truecount="2" falsecount="0"/>
|
|
34
|
+
<line num="62" count="32" type="cond" truecount="2" falsecount="0"/>
|
|
35
|
+
<line num="65" count="20" type="cond" truecount="2" falsecount="0"/>
|
|
36
|
+
<line num="68" count="28" type="cond" truecount="3" falsecount="0"/>
|
|
37
|
+
<line num="69" count="12" type="cond" truecount="2" falsecount="0"/>
|
|
38
|
+
<line num="70" count="6" type="stmt"/>
|
|
39
|
+
<line num="73" count="6" type="stmt"/>
|
|
40
|
+
<line num="76" count="2" type="stmt"/>
|
|
41
|
+
<line num="83" count="145" type="stmt"/>
|
|
42
|
+
<line num="84" count="145" type="stmt"/>
|
|
43
|
+
<line num="86" count="145" type="stmt"/>
|
|
44
|
+
<line num="87" count="272" type="cond" truecount="5" falsecount="0"/>
|
|
45
|
+
<line num="88" count="270" type="stmt"/>
|
|
46
|
+
<line num="89" count="603" type="cond" truecount="2" falsecount="0"/>
|
|
47
|
+
<line num="90" count="329" type="stmt"/>
|
|
48
|
+
<line num="91" count="329" type="stmt"/>
|
|
49
|
+
<line num="93" count="603" type="stmt"/>
|
|
50
|
+
<line num="94" count="603" type="cond" truecount="2" falsecount="0"/>
|
|
51
|
+
<line num="95" count="595" type="stmt"/>
|
|
52
|
+
<line num="100" count="145" type="stmt"/>
|
|
53
|
+
<line num="101" count="329" type="stmt"/>
|
|
54
|
+
<line num="102" count="329" type="cond" truecount="2" falsecount="0"/>
|
|
55
|
+
<line num="104" count="323" type="stmt"/>
|
|
56
|
+
<line num="107" count="323" type="cond" truecount="5" falsecount="0"/>
|
|
57
|
+
<line num="108" count="42" type="cond" truecount="3" falsecount="0"/>
|
|
58
|
+
<line num="109" count="22" type="stmt"/>
|
|
59
|
+
<line num="113" count="301" type="cond" truecount="2" falsecount="0"/>
|
|
60
|
+
<line num="115" count="56" type="cond" truecount="2" falsecount="0"/>
|
|
61
|
+
<line num="118" count="54" type="cond" truecount="5" falsecount="0"/>
|
|
62
|
+
<line num="119" count="34" type="stmt"/>
|
|
63
|
+
<line num="120" count="34" type="stmt"/>
|
|
64
|
+
<line num="121" count="64" type="cond" truecount="2" falsecount="0"/>
|
|
65
|
+
<line num="122" count="62" type="stmt"/>
|
|
66
|
+
<line num="123" count="102" type="cond" truecount="5" falsecount="0"/>
|
|
67
|
+
<line num="124" count="98" type="stmt"/>
|
|
68
|
+
<line num="129" count="34" type="stmt"/>
|
|
69
|
+
<line num="133" count="20" type="cond" truecount="2" falsecount="0"/>
|
|
70
|
+
<line num="135" count="8" type="cond" truecount="2" falsecount="0"/>
|
|
71
|
+
<line num="138" count="6" type="stmt"/>
|
|
72
|
+
<line num="139" count="6" type="stmt"/>
|
|
73
|
+
<line num="140" count="12" type="cond" truecount="2" falsecount="0"/>
|
|
74
|
+
<line num="141" count="10" type="stmt"/>
|
|
75
|
+
<line num="142" count="10" type="stmt"/>
|
|
76
|
+
<line num="143" count="10" type="cond" truecount="2" falsecount="0"/>
|
|
77
|
+
<line num="147" count="6" type="stmt"/>
|
|
78
|
+
<line num="151" count="12" type="stmt"/>
|
|
79
|
+
<line num="155" count="245" type="stmt"/>
|
|
80
|
+
<line num="163" count="948" type="cond" truecount="2" falsecount="0"/>
|
|
81
|
+
<line num="166" count="471" type="cond" truecount="5" falsecount="0"/>
|
|
82
|
+
<line num="167" count="179" type="stmt"/>
|
|
83
|
+
<line num="168" count="179" type="cond" truecount="2" falsecount="0"/>
|
|
84
|
+
<line num="169" count="284" type="stmt"/>
|
|
85
|
+
<line num="173" count="292" type="cond" truecount="4" falsecount="0"/>
|
|
86
|
+
<line num="174" count="270" type="stmt"/>
|
|
87
|
+
<line num="176" count="758" type="cond" truecount="2" falsecount="0"/>
|
|
88
|
+
<line num="177" count="626" type="stmt"/>
|
|
89
|
+
<line num="178" count="626" type="stmt"/>
|
|
90
|
+
<line num="180" count="132" type="stmt"/>
|
|
91
|
+
<line num="181" count="132" type="stmt"/>
|
|
92
|
+
<line num="183" count="758" type="stmt"/>
|
|
93
|
+
<line num="184" count="758" type="cond" truecount="2" falsecount="0"/>
|
|
94
|
+
<line num="185" count="595" type="stmt"/>
|
|
95
|
+
<line num="193" count="196" type="cond" truecount="4" falsecount="0"/>
|
|
96
|
+
<line num="194" count="174" type="cond" truecount="2" falsecount="0"/>
|
|
97
|
+
<line num="195" count="99" type="stmt"/>
|
|
98
|
+
<line num="196" count="113" type="cond" truecount="2" falsecount="0"/>
|
|
99
|
+
<line num="198" count="10" type="stmt"/>
|
|
100
|
+
<line num="205" count="580" type="cond" truecount="2" falsecount="0"/>
|
|
101
|
+
<line num="206" count="546" type="stmt"/>
|
|
102
|
+
<line num="207" count="234" type="cond" truecount="2" falsecount="0"/>
|
|
103
|
+
<line num="208" count="57" type="stmt"/>
|
|
104
|
+
<line num="210" count="234" type="stmt"/>
|
|
105
|
+
<line num="221" count="75" type="cond" truecount="2" falsecount="0"/>
|
|
106
|
+
<line num="222" count="69" type="stmt"/>
|
|
107
|
+
<line num="223" count="69" type="stmt"/>
|
|
108
|
+
<line num="224" count="69" type="cond" truecount="4" falsecount="0"/>
|
|
109
|
+
<line num="225" count="34" type="stmt"/>
|
|
110
|
+
<line num="227" count="69" type="stmt"/>
|
|
111
|
+
<line num="234" count="1932" type="cond" truecount="2" falsecount="0"/>
|
|
112
|
+
<line num="235" count="824" type="cond" truecount="2" falsecount="0"/>
|
|
113
|
+
<line num="238" count="800" type="cond" truecount="5" falsecount="0"/>
|
|
114
|
+
<line num="239" count="293" type="stmt"/>
|
|
115
|
+
<line num="240" count="483" type="stmt"/>
|
|
116
|
+
<line num="244" count="507" type="cond" truecount="4" falsecount="0"/>
|
|
117
|
+
<line num="247" count="485" type="stmt"/>
|
|
118
|
+
<line num="248" count="485" type="stmt"/>
|
|
119
|
+
<line num="249" count="1442" type="stmt"/>
|
|
120
|
+
<line num="251" count="1442" type="cond" truecount="2" falsecount="0"/>
|
|
121
|
+
<line num="252" count="1207" type="stmt"/>
|
|
122
|
+
<line num="253" count="1207" type="stmt"/>
|
|
123
|
+
<line num="254" count="235" type="cond" truecount="4" falsecount="0"/>
|
|
124
|
+
<line num="255" count="234" type="stmt"/>
|
|
125
|
+
<line num="256" count="234" type="stmt"/>
|
|
126
|
+
<line num="258" count="1" type="stmt"/>
|
|
127
|
+
<line num="260" count="1441" type="stmt"/>
|
|
128
|
+
<line num="261" count="1441" type="cond" truecount="2" falsecount="0"/>
|
|
129
|
+
<line num="262" count="1333" type="stmt"/>
|
|
130
|
+
<line num="264" count="485" type="stmt"/>
|
|
131
|
+
<line num="272" count="121" type="cond" truecount="5" falsecount="0"/>
|
|
132
|
+
<line num="273" count="117" type="cond" truecount="2" falsecount="0"/>
|
|
133
|
+
<line num="274" count="116" type="stmt"/>
|
|
134
|
+
<line num="280" count="831" type="cond" truecount="2" falsecount="0"/>
|
|
135
|
+
<line num="281" count="830" type="cond" truecount="5" falsecount="0"/>
|
|
136
|
+
<line num="283" count="824" type="cond" truecount="2" falsecount="0"/>
|
|
137
|
+
<line num="285" count="815" type="cond" truecount="2" falsecount="0"/>
|
|
138
|
+
<line num="287" count="794" type="cond" truecount="2" falsecount="0"/>
|
|
139
|
+
<line num="288" count="780" type="stmt"/>
|
|
140
|
+
<line num="303" count="117" type="stmt"/>
|
|
141
|
+
<line num="308" count="1757" type="cond" truecount="4" falsecount="0"/>
|
|
142
|
+
<line num="309" count="1756" type="cond" truecount="2" falsecount="0"/>
|
|
143
|
+
<line num="310" count="607" type="cond" truecount="2" falsecount="0"/>
|
|
144
|
+
<line num="311" count="50" type="stmt"/>
|
|
145
|
+
<line num="313" count="1149" type="cond" truecount="2" falsecount="0"/>
|
|
146
|
+
<line num="314" count="219" type="cond" truecount="2" falsecount="0"/>
|
|
147
|
+
<line num="315" count="1" type="stmt"/>
|
|
148
|
+
<line num="317" count="930" type="cond" truecount="2" falsecount="0"/>
|
|
149
|
+
<line num="318" count="920" type="cond" truecount="2" falsecount="0"/>
|
|
150
|
+
<line num="319" count="147" type="cond" truecount="2" falsecount="0"/>
|
|
151
|
+
<line num="320" count="1" type="stmt"/>
|
|
152
|
+
<line num="325" count="773" type="cond" truecount="2" falsecount="0"/>
|
|
153
|
+
<line num="326" count="761" type="stmt"/>
|
|
154
|
+
<line num="327" count="1568" type="cond" truecount="4" falsecount="0"/>
|
|
155
|
+
<line num="328" count="1416" type="stmt"/>
|
|
156
|
+
<line num="330" count="761" type="stmt"/>
|
|
157
|
+
<line num="331" count="761" type="stmt"/>
|
|
158
|
+
<line num="334" count="761" type="cond" truecount="2" falsecount="0"/>
|
|
159
|
+
<line num="335" count="756" type="stmt"/>
|
|
160
|
+
<line num="340" count="146" type="stmt"/>
|
|
161
|
+
<line num="341" count="224" type="cond" truecount="2" falsecount="0"/>
|
|
162
|
+
<line num="342" count="224" type="stmt"/>
|
|
163
|
+
<line num="344" count="146" type="stmt"/>
|
|
164
|
+
<line num="351" count="169" type="stmt"/>
|
|
165
|
+
<line num="354" count="7" type="stmt"/>
|
|
166
|
+
<line num="358" count="11366" type="cond" truecount="2" falsecount="0"/>
|
|
167
|
+
<line num="363" count="24" type="cond" truecount="2" falsecount="0"/>
|
|
168
|
+
<line num="367" count="3075" type="stmt"/>
|
|
169
|
+
<line num="368" count="3075" type="cond" truecount="2" falsecount="0"/>
|
|
170
|
+
<line num="369" count="3074" type="stmt"/>
|
|
171
|
+
<line num="370" count="3074" type="cond" truecount="2" falsecount="0"/>
|
|
172
|
+
<line num="371" count="2996" type="cond" truecount="2" falsecount="0"/>
|
|
173
|
+
<line num="372" count="2755" type="cond" truecount="2" falsecount="0"/>
|
|
174
|
+
<line num="374" count="1456" type="cond" truecount="4" falsecount="0"/>
|
|
175
|
+
<line num="375" count="1448" type="cond" truecount="4" falsecount="0"/>
|
|
176
|
+
<line num="376" count="1440" type="cond" truecount="4" falsecount="0"/>
|
|
177
|
+
<line num="377" count="1434" type="cond" truecount="5" falsecount="0"/>
|
|
178
|
+
<line num="379" count="1035" type="stmt"/>
|
|
179
|
+
<line num="383" count="80" type="stmt"/>
|
|
180
|
+
<line num="384" count="80" type="stmt"/>
|
|
181
|
+
<line num="385" count="80" type="stmt"/>
|
|
182
|
+
<line num="386" count="413" type="stmt"/>
|
|
183
|
+
<line num="387" count="413" type="cond" truecount="2" falsecount="0"/>
|
|
184
|
+
<line num="388" count="334" type="cond" truecount="2" falsecount="0"/>
|
|
185
|
+
<line num="389" count="12" type="stmt"/>
|
|
186
|
+
<line num="390" count="12" type="stmt"/>
|
|
187
|
+
<line num="391" count="12" type="cond" truecount="10" falsecount="0"/>
|
|
188
|
+
<line num="392" count="2" type="stmt"/>
|
|
189
|
+
<line num="393" count="1" type="stmt"/>
|
|
190
|
+
<line num="394" count="1" type="stmt"/>
|
|
191
|
+
<line num="395" count="1" type="stmt"/>
|
|
192
|
+
<line num="396" count="1" type="stmt"/>
|
|
193
|
+
<line num="397" count="1" type="stmt"/>
|
|
194
|
+
<line num="398" count="1" type="stmt"/>
|
|
195
|
+
<line num="399" count="1" type="stmt"/>
|
|
196
|
+
<line num="401" count="2" type="stmt"/>
|
|
197
|
+
<line num="402" count="2" type="stmt"/>
|
|
198
|
+
<line num="403" count="2" type="stmt"/>
|
|
199
|
+
<line num="404" count="2" type="stmt"/>
|
|
200
|
+
<line num="406" count="1" type="stmt"/>
|
|
201
|
+
<line num="409" count="322" type="stmt"/>
|
|
202
|
+
<line num="411" count="334" type="stmt"/>
|
|
203
|
+
<line num="413" count="1" type="stmt"/>
|
|
204
|
+
<line num="418" count="1299" type="stmt"/>
|
|
205
|
+
<line num="419" count="1299" type="stmt"/>
|
|
206
|
+
<line num="420" count="1299" type="stmt"/>
|
|
207
|
+
<line num="421" count="1299" type="cond" truecount="2" falsecount="0"/>
|
|
208
|
+
<line num="423" count="1282" type="stmt"/>
|
|
209
|
+
<line num="424" count="2768" type="stmt"/>
|
|
210
|
+
<line num="425" count="2768" type="stmt"/>
|
|
211
|
+
<line num="427" count="2768" type="cond" truecount="4" falsecount="0"/>
|
|
212
|
+
<line num="429" count="228" type="cond" truecount="2" falsecount="0"/>
|
|
213
|
+
<line num="430" count="48" type="stmt"/>
|
|
214
|
+
<line num="431" count="48" type="stmt"/>
|
|
215
|
+
<line num="432" count="48" type="stmt"/>
|
|
216
|
+
<line num="434" count="180" type="stmt"/>
|
|
217
|
+
<line num="435" count="180" type="stmt"/>
|
|
218
|
+
<line num="436" count="180" type="stmt"/>
|
|
219
|
+
<line num="437" count="180" type="cond" truecount="2" falsecount="0"/>
|
|
220
|
+
<line num="438" count="25" type="stmt"/>
|
|
221
|
+
<line num="439" count="25" type="stmt"/>
|
|
222
|
+
<line num="440" count="25" type="stmt"/>
|
|
223
|
+
<line num="442" count="155" type="stmt"/>
|
|
224
|
+
<line num="445" count="2540" type="stmt"/>
|
|
225
|
+
<line num="446" count="2539" type="stmt"/>
|
|
226
|
+
<line num="448" count="2539" type="cond" truecount="2" falsecount="0"/>
|
|
227
|
+
<line num="449" count="1332" type="cond" truecount="2" falsecount="0"/>
|
|
228
|
+
<line num="450" count="1" type="stmt"/>
|
|
229
|
+
<line num="455" count="241" type="stmt"/>
|
|
230
|
+
<line num="456" count="241" type="stmt"/>
|
|
231
|
+
<line num="457" count="241" type="stmt"/>
|
|
232
|
+
<line num="458" count="241" type="cond" truecount="2" falsecount="0"/>
|
|
233
|
+
<line num="460" count="240" type="stmt"/>
|
|
234
|
+
<line num="461" count="368" type="stmt"/>
|
|
235
|
+
<line num="463" count="368" type="cond" truecount="2" falsecount="0"/>
|
|
236
|
+
<line num="464" count="367" type="stmt"/>
|
|
237
|
+
<line num="465" count="367" type="cond" truecount="2" falsecount="0"/>
|
|
238
|
+
<line num="466" count="366" type="stmt"/>
|
|
239
|
+
<line num="467" count="366" type="stmt"/>
|
|
240
|
+
<line num="468" count="366" type="stmt"/>
|
|
241
|
+
<line num="469" count="366" type="stmt"/>
|
|
242
|
+
<line num="470" count="366" type="cond" truecount="2" falsecount="0"/>
|
|
243
|
+
<line num="471" count="129" type="cond" truecount="2" falsecount="0"/>
|
|
244
|
+
<line num="472" count="1" type="stmt"/>
|
|
245
|
+
<line num="478" count="1401" type="stmt"/>
|
|
246
|
+
<line num="479" count="1401" type="cond" truecount="2" falsecount="0"/>
|
|
247
|
+
<line num="480" count="5251" type="stmt"/>
|
|
248
|
+
<line num="482" count="1401" type="stmt"/>
|
|
249
|
+
<line num="483" count="1401" type="cond" truecount="2" falsecount="0"/>
|
|
250
|
+
<line num="484" count="1400" type="cond" truecount="2" falsecount="0"/>
|
|
251
|
+
<line num="485" count="1399" type="cond" truecount="2" falsecount="0"/>
|
|
252
|
+
<line num="486" count="1398" type="cond" truecount="2" falsecount="0"/>
|
|
253
|
+
<line num="487" count="1397" type="stmt"/>
|
|
254
|
+
<line num="491" count="399" type="stmt"/>
|
|
255
|
+
<line num="492" count="399" type="cond" truecount="2" falsecount="0"/>
|
|
256
|
+
<line num="493" count="661" type="cond" truecount="3" falsecount="0"/>
|
|
257
|
+
<line num="494" count="399" type="cond" truecount="2" falsecount="0"/>
|
|
258
|
+
<line num="495" count="2" type="stmt"/>
|
|
259
|
+
<line num="496" count="3" type="cond" truecount="3" falsecount="0"/>
|
|
260
|
+
<line num="498" count="399" type="cond" truecount="4" falsecount="0"/>
|
|
261
|
+
<line num="499" count="4" type="stmt"/>
|
|
262
|
+
<line num="500" count="4" type="cond" truecount="4" falsecount="0"/>
|
|
263
|
+
<line num="501" count="8" type="cond" truecount="3" falsecount="0"/>
|
|
264
|
+
<line num="503" count="399" type="stmt"/>
|
|
265
|
+
<line num="504" count="399" type="cond" truecount="2" falsecount="0"/>
|
|
266
|
+
<line num="505" count="398" type="stmt"/>
|
|
267
|
+
<line num="508" count="169" type="stmt"/>
|
|
268
|
+
<line num="509" count="163" type="stmt"/>
|
|
269
|
+
<line num="510" count="163" type="cond" truecount="2" falsecount="0"/>
|
|
270
|
+
<line num="511" count="162" type="stmt"/>
|
|
271
|
+
<line num="514" count="1" type="stmt"/>
|
|
272
|
+
<line num="515" count="1" type="stmt"/>
|
|
273
|
+
</file>
|
|
274
|
+
</project>
|
|
275
|
+
</coverage>
|