@featurevisor/sdk 1.27.6 → 1.28.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.
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">96.29% </span>
26
+ <span class="strong">75% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>26/27</span>
28
+ <span class='fraction'>30/40</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
33
+ <span class="strong">69.23% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>5/5</span>
35
+ <span class='fraction'>9/13</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">95.83% </span>
47
+ <span class="strong">74.35% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>23/24</span>
49
+ <span class='fraction'>29/39</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line high'></div>
64
+ <div class='status-line medium'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -136,7 +136,48 @@
136
136
  <a name='L71'></a><a href='#L71'>71</a>
137
137
  <a name='L72'></a><a href='#L72'>72</a>
138
138
  <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
180
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
181
  <span class="cline-any cline-neutral">&nbsp;</span>
141
182
  <span class="cline-any cline-neutral">&nbsp;</span>
142
183
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -166,11 +207,29 @@
166
207
  <span class="cline-any cline-neutral">&nbsp;</span>
167
208
  <span class="cline-any cline-neutral">&nbsp;</span>
168
209
  <span class="cline-any cline-neutral">&nbsp;</span>
210
+ <span class="cline-any cline-neutral">&nbsp;</span>
211
+ <span class="cline-any cline-neutral">&nbsp;</span>
212
+ <span class="cline-any cline-neutral">&nbsp;</span>
213
+ <span class="cline-any cline-neutral">&nbsp;</span>
214
+ <span class="cline-any cline-neutral">&nbsp;</span>
215
+ <span class="cline-any cline-neutral">&nbsp;</span>
216
+ <span class="cline-any cline-neutral">&nbsp;</span>
169
217
  <span class="cline-any cline-yes">30x</span>
170
218
  <span class="cline-any cline-yes">30x</span>
219
+ <span class="cline-any cline-neutral">&nbsp;</span>
171
220
  <span class="cline-any cline-yes">30x</span>
221
+ <span class="cline-any cline-no">&nbsp;</span>
222
+ <span class="cline-any cline-neutral">&nbsp;</span>
223
+ <span class="cline-any cline-no">&nbsp;</span>
224
+ <span class="cline-any cline-no">&nbsp;</span>
225
+ <span class="cline-any cline-no">&nbsp;</span>
226
+ <span class="cline-any cline-neutral">&nbsp;</span>
227
+ <span class="cline-any cline-yes">30x</span>
228
+ <span class="cline-any cline-neutral">&nbsp;</span>
172
229
  <span class="cline-any cline-yes">30x</span>
173
230
  <span class="cline-any cline-yes">30x</span>
231
+ <span class="cline-any cline-yes">30x</span>
232
+ <span class="cline-any cline-neutral">&nbsp;</span>
174
233
  <span class="cline-any cline-neutral">&nbsp;</span>
175
234
  <span class="cline-any cline-neutral">&nbsp;</span>
176
235
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -183,13 +242,31 @@
183
242
  <span class="cline-any cline-neutral">&nbsp;</span>
184
243
  <span class="cline-any cline-neutral">&nbsp;</span>
185
244
  <span class="cline-any cline-yes">2x</span>
245
+ <span class="cline-any cline-yes">2x</span>
246
+ <span class="cline-any cline-neutral">&nbsp;</span>
247
+ <span class="cline-any cline-neutral">&nbsp;</span>
248
+ <span class="cline-any cline-neutral">&nbsp;</span>
249
+ <span class="cline-any cline-no">&nbsp;</span>
250
+ <span class="cline-any cline-neutral">&nbsp;</span>
251
+ <span class="cline-any cline-no">&nbsp;</span>
252
+ <span class="cline-any cline-no">&nbsp;</span>
253
+ <span class="cline-any cline-neutral">&nbsp;</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
+ <span class="cline-any cline-no">&nbsp;</span>
186
256
  <span class="cline-any cline-neutral">&nbsp;</span>
187
257
  <span class="cline-any cline-neutral">&nbsp;</span>
188
258
  <span class="cline-any cline-neutral">&nbsp;</span>
189
259
  <span class="cline-any cline-yes">1x</span>
260
+ <span class="cline-any cline-no">&nbsp;</span>
261
+ <span class="cline-any cline-neutral">&nbsp;</span>
262
+ <span class="cline-any cline-neutral">&nbsp;</span>
263
+ <span class="cline-any cline-yes">1x</span>
264
+ <span class="cline-any cline-neutral">&nbsp;</span>
190
265
  <span class="cline-any cline-neutral">&nbsp;</span>
191
266
  <span class="cline-any cline-neutral">&nbsp;</span>
192
267
  <span class="cline-any cline-neutral">&nbsp;</span>
268
+ <span class="cline-any cline-yes">136x</span>
269
+ <span class="cline-any cline-neutral">&nbsp;</span>
193
270
  <span class="cline-any cline-yes">354x</span>
194
271
  <span class="cline-any cline-neutral">&nbsp;</span>
195
272
  <span class="cline-any cline-yes">136x</span>
@@ -200,6 +277,9 @@
200
277
  <span class="cline-any cline-neutral">&nbsp;</span>
201
278
  <span class="cline-any cline-neutral">&nbsp;</span>
202
279
  <span class="cline-any cline-neutral">&nbsp;</span>
280
+ <span class="cline-any cline-neutral">&nbsp;</span>
281
+ <span class="cline-any cline-yes">118x</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span>
203
283
  <span class="cline-any cline-yes">128x</span>
204
284
  <span class="cline-any cline-neutral">&nbsp;</span>
205
285
  <span class="cline-any cline-yes">118x</span>
@@ -212,7 +292,8 @@
212
292
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
213
293
  Feature,
214
294
  Segment,
215
- DatafileContent,
295
+ DatafileContentV1,
296
+ DatafileContentV2,
216
297
  Attribute,
217
298
  AttributeKey,
218
299
  SegmentKey,
@@ -234,16 +315,34 @@ export function parseJsonConditionsIfStringified&lt;T&gt;(record: T, key: string
234
315
  export class DatafileReader {
235
316
  private schemaVersion: string;
236
317
  private revision: string;
318
+ &nbsp;
319
+ // v1
237
320
  private attributes: Attribute[];
238
321
  private segments: Segment[];
239
322
  private features: Feature[];
240
323
  &nbsp;
241
- constructor(datafileJson: DatafileContent) {
324
+ // v2
325
+ private attributesV2: Record&lt;AttributeKey, Attribute&gt;;
326
+ private segmentsV2: Record&lt;SegmentKey, Segment&gt;;
327
+ private featuresV2: Record&lt;FeatureKey, Feature&gt;;
328
+ &nbsp;
329
+ constructor(datafileJson: DatafileContentV1 | DatafileContentV2) {
242
330
  this.schemaVersion = datafileJson.schemaVersion;
243
331
  this.revision = datafileJson.revision;
244
- this.segments = datafileJson.segments;
245
- this.attributes = datafileJson.attributes;
246
- this.features = datafileJson.features;
332
+ &nbsp;
333
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.schemaVersion === "2") {
334
+ const datafileJsonV2 = <span class="cstat-no" title="statement not covered" >datafileJson as DatafileContentV2;</span>
335
+ &nbsp;
336
+ <span class="cstat-no" title="statement not covered" > this.attributesV2 = datafileJsonV2.attributes;</span>
337
+ <span class="cstat-no" title="statement not covered" > this.segmentsV2 = datafileJsonV2.segments;</span>
338
+ <span class="cstat-no" title="statement not covered" > this.featuresV2 = datafileJsonV2.features;</span>
339
+ } else {
340
+ const datafileJsonV1 = datafileJson as DatafileContentV1;
341
+ &nbsp;
342
+ this.segments = datafileJsonV1.segments;
343
+ this.attributes = datafileJsonV1.attributes;
344
+ this.features = datafileJsonV1.features;
345
+ }
247
346
  }
248
347
  &nbsp;
249
348
  getRevision(): string {
@@ -255,15 +354,33 @@ export class DatafileReader {
255
354
  }
256
355
  &nbsp;
257
356
  getAllAttributes(): Attribute[] {
258
- return this.attributes;
357
+ if (this.schemaVersion !== "2") {
358
+ return this.attributes;
359
+ }
360
+ &nbsp;
361
+ // v2
362
+ const result: Attribute[] = <span class="cstat-no" title="statement not covered" >[];</span>
363
+ &nbsp;
364
+ <span class="cstat-no" title="statement not covered" > for (const key in this.attributesV2) {</span>
365
+ <span class="cstat-no" title="statement not covered" > result.push(this.attributesV2[key]);</span>
366
+ }
367
+ &nbsp;
368
+ <span class="cstat-no" title="statement not covered" > return result;</span>
259
369
  }
260
370
  &nbsp;
261
371
  getAttribute(attributeKey: AttributeKey): Attribute | undefined {
372
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.schemaVersion === "2") {
373
+ <span class="cstat-no" title="statement not covered" > return this.attributesV2[attributeKey];</span>
374
+ }
375
+ &nbsp;
262
376
  return this.attributes.find((a) =&gt; a.key === attributeKey);
263
377
  }
264
378
  &nbsp;
265
379
  getSegment(segmentKey: SegmentKey): Segment | undefined {
266
- const segment = this.segments.find((s) =&gt; s.key === segmentKey);
380
+ const segment =
381
+ this.schemaVersion === "2"
382
+ ? <span class="branch-0 cbranch-no" title="branch not covered" >this.segmentsV2[segmentKey]</span>
383
+ : this.segments.find((s) =&gt; s.key === segmentKey);
267
384
  &nbsp;
268
385
  if (!segment) {
269
386
  return undefined;
@@ -273,7 +390,10 @@ export class DatafileReader {
273
390
  }
274
391
  &nbsp;
275
392
  getFeature(featureKey: FeatureKey): Feature | undefined {
276
- const feature = this.features.find((s) =&gt; s.key === featureKey);
393
+ const feature =
394
+ this.schemaVersion === "2"
395
+ ? <span class="branch-0 cbranch-no" title="branch not covered" >this.featuresV2[featureKey]</span>
396
+ : this.features.find((f) =&gt; f.key === featureKey);
277
397
  &nbsp;
278
398
  if (!feature) {
279
399
  return undefined;
@@ -289,7 +409,7 @@ export class DatafileReader {
289
409
  <div class='footer quiet pad2 space-top1 center small'>
290
410
  Code coverage generated by
291
411
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
292
- at 2025-01-20T19:49:22.527Z
412
+ at 2025-01-21T18:59:58.788Z
293
413
  </div>
294
414
  <script src="prettify.js"></script>
295
415
  <script>
@@ -229,7 +229,7 @@ export class Emitter {
229
229
  <div class='footer quiet pad2 space-top1 center small'>
230
230
  Code coverage generated by
231
231
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
232
- at 2025-01-20T19:49:22.527Z
232
+ at 2025-01-21T18:59:58.788Z
233
233
  </div>
234
234
  <script src="prettify.js"></script>
235
235
  <script>
@@ -463,7 +463,7 @@ export function findForceFromFeature(
463
463
  <div class='footer quiet pad2 space-top1 center small'>
464
464
  Code coverage generated by
465
465
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
466
- at 2025-01-20T19:49:22.527Z
466
+ at 2025-01-21T18:59:58.788Z
467
467
  </div>
468
468
  <script src="prettify.js"></script>
469
469
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">91.95% </span>
26
+ <span class="strong">90.72% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>583/634</span>
28
+ <span class='fraction'>587/647</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">85.75% </span>
33
+ <span class="strong">84.91% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>283/330</span>
35
+ <span class='fraction'>287/338</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">91.93% </span>
47
+ <span class="strong">90.7% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>570/620</span>
49
+ <span class='fraction'>576/635</span>
50
50
  </div>
51
51
 
52
52
 
@@ -109,18 +109,18 @@
109
109
  </tr>
110
110
 
111
111
  <tr>
112
- <td class="file high" data-value="datafileReader.ts"><a href="datafileReader.ts.html">datafileReader.ts</a></td>
113
- <td data-value="96.29" class="pic high">
114
- <div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
112
+ <td class="file medium" data-value="datafileReader.ts"><a href="datafileReader.ts.html">datafileReader.ts</a></td>
113
+ <td data-value="75" class="pic medium">
114
+ <div class="chart"><div class="cover-fill" style="width: 75%"></div><div class="cover-empty" style="width: 25%"></div></div>
115
115
  </td>
116
- <td data-value="96.29" class="pct high">96.29%</td>
117
- <td data-value="27" class="abs high">26/27</td>
118
- <td data-value="100" class="pct high">100%</td>
119
- <td data-value="5" class="abs high">5/5</td>
116
+ <td data-value="75" class="pct medium">75%</td>
117
+ <td data-value="40" class="abs medium">30/40</td>
118
+ <td data-value="69.23" class="pct medium">69.23%</td>
119
+ <td data-value="13" class="abs medium">9/13</td>
120
120
  <td data-value="100" class="pct high">100%</td>
121
121
  <td data-value="11" class="abs high">11/11</td>
122
- <td data-value="95.83" class="pct high">95.83%</td>
123
- <td data-value="24" class="abs high">23/24</td>
122
+ <td data-value="74.35" class="pct medium">74.35%</td>
123
+ <td data-value="39" class="abs medium">29/39</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -206,7 +206,7 @@
206
206
  <div class='footer quiet pad2 space-top1 center small'>
207
207
  Code coverage generated by
208
208
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
209
- at 2025-01-20T19:49:22.527Z
209
+ at 2025-01-21T18:59:58.788Z
210
210
  </div>
211
211
  <script src="prettify.js"></script>
212
212
  <script>
@@ -4150,7 +4150,7 @@ export function createInstance(options: InstanceOptions): FeaturevisorInstance {
4150
4150
  <div class='footer quiet pad2 space-top1 center small'>
4151
4151
  Code coverage generated by
4152
4152
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
4153
- at 2025-01-20T19:49:22.527Z
4153
+ at 2025-01-21T18:59:58.788Z
4154
4154
  </div>
4155
4155
  <script src="prettify.js"></script>
4156
4156
  <script>
@@ -340,7 +340,7 @@ export function createLogger(options: CreateLoggerOptions = {}): Logger {
340
340
  <div class='footer quiet pad2 space-top1 center small'>
341
341
  Code coverage generated by
342
342
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
343
- at 2025-01-20T19:49:22.527Z
343
+ at 2025-01-21T18:59:58.788Z
344
344
  </div>
345
345
  <script src="prettify.js"></script>
346
346
  <script>
@@ -244,7 +244,7 @@ export function allGroupSegmentsAreMatched(
244
244
  <div class='footer quiet pad2 space-top1 center small'>
245
245
  Code coverage generated by
246
246
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
247
- at 2025-01-20T19:49:22.527Z
247
+ at 2025-01-21T18:59:58.788Z
248
248
  </div>
249
249
  <script src="prettify.js"></script>
250
250
  <script>
@@ -173,17 +173,17 @@ BRH:64
173
173
  end_of_record
174
174
  TN:
175
175
  SF:src/datafileReader.ts
176
- FN:11,parseJsonConditionsIfStringified
177
- FN:30,(anonymous_1)
178
- FN:38,(anonymous_2)
179
- FN:42,(anonymous_3)
180
- FN:46,(anonymous_4)
181
- FN:50,(anonymous_5)
182
- FN:51,(anonymous_6)
183
- FN:54,(anonymous_7)
184
- FN:55,(anonymous_8)
185
- FN:64,(anonymous_9)
186
- FN:65,(anonymous_10)
176
+ FN:12,parseJsonConditionsIfStringified
177
+ FN:38,(anonymous_1)
178
+ FN:57,(anonymous_2)
179
+ FN:61,(anonymous_3)
180
+ FN:65,(anonymous_4)
181
+ FN:80,(anonymous_5)
182
+ FN:85,(anonymous_6)
183
+ FN:88,(anonymous_7)
184
+ FN:92,(anonymous_8)
185
+ FN:101,(anonymous_9)
186
+ FN:105,(anonymous_10)
187
187
  FNF:11
188
188
  FNH:11
189
189
  FNDA:135,parseJsonConditionsIfStringified
@@ -197,39 +197,62 @@ FNDA:136,(anonymous_7)
197
197
  FNDA:354,(anonymous_8)
198
198
  FNDA:118,(anonymous_9)
199
199
  FNDA:128,(anonymous_10)
200
- DA:11,3
201
- DA:12,135
202
- DA:13,9
200
+ DA:12,3
201
+ DA:13,135
203
202
  DA:14,9
204
- DA:16,0
205
- DA:20,135
206
- DA:23,3
207
- DA:31,30
208
- DA:32,30
209
- DA:33,30
210
- DA:34,30
211
- DA:35,30
212
- DA:39,2
213
- DA:43,1
214
- DA:47,2
215
- DA:51,1
216
- DA:55,354
217
- DA:57,136
218
- DA:58,1
219
- DA:61,135
220
- DA:65,128
221
- DA:67,118
222
- DA:68,7
223
- DA:71,111
224
- LF:24
225
- LH:23
226
- BRDA:12,0,0,9
227
- BRDA:12,1,0,135
228
- BRDA:12,1,1,9
229
- BRDA:57,2,0,1
230
- BRDA:67,3,0,7
231
- BRF:5
232
- BRH:5
203
+ DA:15,9
204
+ DA:17,0
205
+ DA:21,135
206
+ DA:24,3
207
+ DA:39,30
208
+ DA:40,30
209
+ DA:42,30
210
+ DA:43,0
211
+ DA:45,0
212
+ DA:46,0
213
+ DA:47,0
214
+ DA:49,30
215
+ DA:51,30
216
+ DA:52,30
217
+ DA:53,30
218
+ DA:58,2
219
+ DA:62,1
220
+ DA:66,2
221
+ DA:67,2
222
+ DA:71,0
223
+ DA:73,0
224
+ DA:74,0
225
+ DA:77,0
226
+ DA:81,1
227
+ DA:82,0
228
+ DA:85,1
229
+ DA:90,136
230
+ DA:92,354
231
+ DA:94,136
232
+ DA:95,1
233
+ DA:98,135
234
+ DA:103,118
235
+ DA:105,128
236
+ DA:107,118
237
+ DA:108,7
238
+ DA:111,111
239
+ LF:39
240
+ LH:29
241
+ BRDA:13,0,0,9
242
+ BRDA:13,1,0,135
243
+ BRDA:13,1,1,9
244
+ BRDA:42,2,0,0
245
+ BRDA:42,2,1,30
246
+ BRDA:66,3,0,2
247
+ BRDA:81,4,0,0
248
+ BRDA:90,5,0,0
249
+ BRDA:90,5,1,136
250
+ BRDA:94,6,0,1
251
+ BRDA:103,7,0,0
252
+ BRDA:103,7,1,118
253
+ BRDA:107,8,0,7
254
+ BRF:13
255
+ BRH:9
233
256
  end_of_record
234
257
  TN:
235
258
  SF:src/emitter.ts
@@ -1,4 +1,4 @@
1
- import { Feature, Segment, DatafileContent, Attribute, AttributeKey, SegmentKey, FeatureKey } from "@featurevisor/types";
1
+ import { Feature, Segment, DatafileContentV1, DatafileContentV2, Attribute, AttributeKey, SegmentKey, FeatureKey } from "@featurevisor/types";
2
2
  export declare function parseJsonConditionsIfStringified<T>(record: T, key: string): T;
3
3
  export declare class DatafileReader {
4
4
  private schemaVersion;
@@ -6,7 +6,10 @@ export declare class DatafileReader {
6
6
  private attributes;
7
7
  private segments;
8
8
  private features;
9
- constructor(datafileJson: DatafileContent);
9
+ private attributesV2;
10
+ private segmentsV2;
11
+ private featuresV2;
12
+ constructor(datafileJson: DatafileContentV1 | DatafileContentV2);
10
13
  getRevision(): string;
11
14
  getSchemaVersion(): string;
12
15
  getAllAttributes(): Attribute[];