edfcore 0.6.44 → 0.6.46

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.
@@ -109,5 +109,5 @@ export declare const SIGNAL_FIELD_BLOCK_OFFSETS: {
109
109
  readonly reserved: 224;
110
110
  };
111
111
  /** Published package version. Kept in sync with package.json by a test. */
112
- export declare const VERSION = "0.6.44";
112
+ export declare const VERSION = "0.6.46";
113
113
  //# sourceMappingURL=constants.d.ts.map
package/dist/constants.js CHANGED
@@ -79,5 +79,5 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
79
79
  reserved: 224,
80
80
  };
81
81
  /** Published package version. Kept in sync with package.json by a test. */
82
- export const VERSION = '0.6.44';
82
+ export const VERSION = '0.6.46';
83
83
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dates.d.ts","sourceRoot":"","sources":["../../src/header/dates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAmD/E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/D;AAQD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAKlE;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,GAAG,OAAO,CAElF;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAEhE;AAED,oBAAoB;AACpB,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE3D;AA2CD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,YAAY,GAAG,aAAa,CAAC;AAE5E;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,CAAC;IAC3C,8EAA8E;IAC9E,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,uFAAuF;IACvF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAcD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAmCtE;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IACzC,uCAAuC;IACvC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,2FAA2F;AAC3F,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAgBtE;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,CAAC;IAC3C,+FAA+F;IAC/F,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAoBjE;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,2DAA2D;IAC3D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,sFAAsF;IACtF,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;CACvD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,GAAG,YAAY,CAyJ1F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAUhF"}
1
+ {"version":3,"file":"dates.d.ts","sourceRoot":"","sources":["../../src/header/dates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAmD/E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/D;AAQD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAKlE;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,GAAG,OAAO,CAElF;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAEhE;AAED,oBAAoB;AACpB,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE3D;AA2CD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,YAAY,GAAG,aAAa,CAAC;AAE5E;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,CAAC;IAC3C,8EAA8E;IAC9E,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,uFAAuF;IACvF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAcD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAmCtE;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IACzC,uCAAuC;IACvC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,2FAA2F;AAC3F,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAgBtE;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,CAAC;IAC3C,+FAA+F;IAC/F,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAoBjE;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,2DAA2D;IAC3D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,sFAAsF;IACtF,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;CACvD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,GAAG,YAAY,CA6K1F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAUhF"}
@@ -283,15 +283,34 @@ export function resolveStartTime(input, sink) {
283
283
  });
284
284
  }
285
285
  if (dateParse.clippedYear && dateParse.date !== undefined) {
286
+ /*
287
+ * The advice branches on whether the four-digit year it points at exists, because the one
288
+ * sentence it used to be was never actionable on any file.
289
+ *
290
+ * It said "for an unambiguous year read startTime.recordingIdDate". The resolution rule
291
+ * above is that the recording-identification date WINS when both are readable, so a file
292
+ * that has one already resolved to it — `dateSource` is "recordingIdField" and
293
+ * `resolvedDate` is the four-digit year — and the reader is told to do what edfcore did.
294
+ * A file that has none has `recordingIdDate === undefined`, and the reader is sent to a
295
+ * field with nothing in it. Those two cases are the only two there are: three of the seven
296
+ * files in the test corpus are the second, four are the first, and this clause was wrong on
297
+ * all seven.
298
+ */
299
+ const clipping = `startdate field (8 bytes at offset ${dateOffset}) is ` +
300
+ `${JSON.stringify(dateParse.raw)}: its two-digit year was resolved to ` +
301
+ `${dateParse.date.year} by the EDF+ rule that 85..99 mean 1985..1999 and 00..84 mean ` +
302
+ '2000..2084, so the field cannot express a year outside that span. EDF+ additional ' +
303
+ 'specification 2 (1985 is the clipping date). ';
286
304
  sink.report({
287
305
  code: 'DATE_CLIPPED_TO_1985_2084',
288
- message: `startdate field (8 bytes at offset ${dateOffset}) is ` +
289
- `${JSON.stringify(dateParse.raw)}: its two-digit year was resolved to ` +
290
- `${dateParse.date.year} by the EDF+ rule that 85..99 mean 1985..1999 and 00..84 mean ` +
291
- '2000..2084, so the field cannot express a year outside that span. EDF+ additional ' +
292
- 'specification 2 (1985 is the clipping date). Next: for an unambiguous year read ' +
293
- 'startTime.recordingIdDate, which the EDF+ recording identification spells out in ' +
294
- 'four digits.',
306
+ message: recordingIdDate === undefined
307
+ ? `${clipping}Next: this file has no four-digit year to fall back on — its recording ` +
308
+ 'identification carries no Startdate subfield, so startTime.recordingIdDate is ' +
309
+ 'undefined and the clipped year is the only date the file has.'
310
+ : `${clipping}Next: nothing is affected the EDF+ recording identification carries a ` +
311
+ 'Startdate, so startTime.resolvedDate is already that four-digit year and ' +
312
+ 'startTime.dateSource is "recordingIdField". This is a note about the field, not ' +
313
+ 'about the date you get.',
295
314
  field: 'startDate',
296
315
  byteOffset: dateOffset,
297
316
  byteLength: HEADER_FIELDS.startDate.length,
@@ -1 +1 @@
1
- {"version":3,"file":"dates.js","sourceRoot":"","sources":["../../src/header/dates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,MAAM,mBAAmB,GAAsB;IAC7C,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC;AAEF,MAAM,aAAa,GAAsB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAE1F,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,sFAAsF;AACtF,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,gGAAgG;AAChG,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,yEAAyE;AACzE,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAC1C,+EAA+E;AAC/E,MAAM,sBAAsB,GAAG,8BAA8B,CAAC;AAC9D,0BAA0B;AAC1B,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AACvD,wFAAwF;AACxF,MAAM,wBAAwB,GAAG,wBAAwB,CAAC;AAC1D,MAAM,WAAW,GAAG,OAAO,CAAC;AAE5B,MAAM,QAAQ,GAAiB,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAEjE,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,KAAa;IACrD,IAAI,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,kBAAkB,CAAC;IACtE,OAAO,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,4FAA4F;AAC5F,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,kBAAkB,CAAC;IAClD,OAAO,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAqB;IACvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI;QAAE,OAAO,KAAK,CAAC;IACpF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,eAAe;QAAE,OAAO,KAAK,CAAC;IAClG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,OAAO,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,CAAkB,EAAE,CAAkB;IACvE,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;AACrE,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,kBAAkB,CAAC,IAAqB;IACtD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,oBAAoB;AACpB,MAAM,UAAU,eAAe,CAAC,KAAmB;IACjD,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,KAAa;IACvC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,0EAA0E;AAC1E,SAAS,WAAW,CAAC,IAAY,EAAE,SAAiB;IAClD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS;QAAE,OAAO,SAAS,CAAC;IACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,IAAI,GAAG,UAAU,IAAI,IAAI,GAAG,UAAU;YAAE,OAAO,SAAS,CAAC;IAC/D,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC;SAC7B,KAAK,CAAC,qBAAqB,CAAC;SAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzF,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,OAAO,YAAY,IAAI,oBAAoB;QACzC,CAAC,CAAC,iBAAiB,GAAG,YAAY;QAClC,CAAC,CAAC,oBAAoB,GAAG,YAAY,CAAC;AAC1C,CAAC;AA2BD,SAAS,eAAe,CAAC,GAAW,EAAE,UAAmB;IACvD,OAAO;QACL,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,KAAK;QAClB,UAAU;QACV,GAAG;KACJ,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAElE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC;IAC9C,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACxC,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACtF,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,eAAe;QAAE,OAAO,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAElF,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,yFAAyF;QACzF,0EAA0E;QAC1E,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC;YAAE,OAAO,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACpF,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,SAAS;YACf,GAAG;YACH,KAAK;YACL,WAAW,EAAE,KAAK;YAClB,UAAU;YACV,GAAG;SACJ,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC5C,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAExE,MAAM,IAAI,GAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACnD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAAE,OAAO,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACxE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAC9E,CAAC;AAeD,2FAA2F;AAC3F,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAEvE,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC;IAClD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC1C,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAC/C,CAAC;IACD,IAAI,IAAI,GAAG,QAAQ,IAAI,MAAM,GAAG,UAAU,IAAI,MAAM,GAAG,UAAU,EAAE,CAAC;QAClE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAC9D,CAAC;AAaD;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAExE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC;IAC9C,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACtC,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACtE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,eAAe,EAAE,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,IAAI,GAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACnD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC9E,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;AACrF,CAAC;AAgBD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAqB,EAAE,IAAoB;IAC1E,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;IAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC;IAElD,IAAI,SAAS,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,kBAAkB;YACxB,OAAO,EACL,sCAAsC,UAAU,OAAO;gBACvD,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,mDAAmD;gBACnF,+EAA+E;gBAC/E,mFAAmF;gBACnF,6EAA6E;gBAC7E,+CAA+C;YACjD,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM;YAC1C,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC;YACnC,aAAa,EAAE,gDAAgD;SAChE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,2BAA2B;YACjC,OAAO,EACL,sCAAsC,UAAU,OAAO;gBACvD,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,uCAAuC;gBACvE,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,gEAAgE;gBACtF,oFAAoF;gBACpF,kFAAkF;gBAClF,mFAAmF;gBACnF,cAAc;YAChB,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM;YAC1C,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,aAAa,EAAE,2DAA2D;SAC3E,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,YAAY,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,kBAAkB;YACxB,OAAO,EACL,sCAAsC,UAAU,OAAO;gBACvD,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,8CAA8C;gBAC9E,8EAA8E;gBAC9E,iFAAiF;gBACjF,iFAAiF;gBACjF,iCAAiC;YACnC,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM;YAC1C,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,QAAQ,EAAE,4DAA4D;YACtE,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC;YACnC,aAAa,EAAE,wCAAwC;SACxD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC;IAClC,MAAM,SAAS,GACb,eAAe,KAAK,SAAS;QAC7B,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YAC7E,mFAAmF;YACnF,CAAC,SAAS,CAAC,MAAM,KAAK,YAAY;gBAChC,CAAC,SAAS,CAAC,GAAG,KAAK,eAAe,CAAC,GAAG,IAAI,SAAS,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE7F,IAAI,SAAS,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,UAAU,GACd,UAAU,KAAK,SAAS;YACtB,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClE,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EACL,sCAAsC,UAAU,OAAO;gBACvD,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,UAAU,kCAAkC;gBACtF,2CAA2C,kBAAkB,CAAC,eAAe,CAAC,IAAI;gBAClF,oFAAoF;gBACpF,qFAAqF;gBACrF,8EAA8E;gBAC9E,aAAa;gBACb,iFAAiF;gBACjF,4EAA4E;gBAC5E,qBAAqB;YACvB,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM;YAC1C,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,QAAQ,EAAE,kBAAkB,CAAC,eAAe,CAAC;YAC7C,MAAM,EAAE,UAAU;YAClB,aAAa,EAAE,wCAAwC;SACxD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAClC,0FAA0F;QAC1F,wFAAwF;QACxF,uFAAuF;QACvF,yFAAyF;QACzF,4FAA4F;QAC5F,iEAAiE;QACjE,EAAE;QACF,wFAAwF;QACxF,qFAAqF;QACrF,8FAA8F;QAC9F,oDAAoD;QACpD,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EACL,sCAAsC,aAAa,CAAC,SAAS,CAAC,MAAM,OAAO;gBAC3E,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,oDAAoD;gBACpF,iFAAiF;gBACjF,mFAAmF;gBACnF,sFAAsF;gBACtF,gDAAgD;YAClD,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM;YAC1C,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM;YAC1C,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC;YACnC,aAAa,EAAE,gDAAgD;SAChE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,QAAQ,CAAC;IAC1C,MAAM,YAAY,GAAG,eAAe,IAAI,UAAU,CAAC;IACnD,MAAM,UAAU,GACd,eAAe,KAAK,SAAS;QAC3B,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,UAAU,KAAK,SAAS;YACxB,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,MAAM,CAAC;IAEf,OAAO;QACL,UAAU;QACV,eAAe;QACf,YAAY;QACZ,UAAU;QACV,KAAK;QACL,WAAW,EAAE,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;QACnE,oBAAoB,EAClB,KAAK,CAAC,IAAI,GAAG,gBAAgB,GAAG,KAAK,CAAC,MAAM,GAAG,kBAAkB,GAAG,KAAK,CAAC,MAAM;KACnF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAuB;IAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC;IACpC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,+FAA+F;IAC/F,gGAAgG;IAChG,4FAA4F;IAC5F,+FAA+F;IAC/F,mDAAmD;IACnD,IAAI,SAAS,CAAC,WAAW,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IACvD,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"dates.js","sourceRoot":"","sources":["../../src/header/dates.ts"],"names":[],"mappings":"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"}
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,44 @@ alone does not tell you whether you were affected.
6
6
  edfcore is pre-1.0. Patch releases have carried behaviour changes where the old behaviour was a
7
7
  defect; those are called out below.
8
8
 
9
+ ## 0.6.46
10
+
11
+ - **Changed** the `Next:` clause of `DATE_CLIPPED_TO_1985_2084`, which could not be followed on any
12
+ file. It said "for an unambiguous year read `startTime.recordingIdDate`, which the EDF+ recording
13
+ identification spells out in four digits". Resolution runs the other way: the
14
+ recording-identification date wins when both are readable.
15
+ - So a file that carries one has already resolved to it — `dateSource` is `"recordingIdField"` and
16
+ `resolvedDate` IS the four-digit year — and the reader was told to go and fetch what edfcore had
17
+ already used. A file that carries none has `recordingIdDate === undefined`, and the reader was
18
+ sent to an empty field with no explanation. Those are the only two cases: four of the seven files
19
+ in the test corpus are the first and three are the second, and the clause was wrong on all seven.
20
+ - The clause now branches. With a `Startdate` subfield it says the resolved date is already that
21
+ year and names `dateSource`; without one it says the file has no four-digit year to fall back on
22
+ and the clipped year is all it has. This is the shape of 0.6.40 and 0.6.26 — one menu split into
23
+ the two questions it was covering.
24
+ - The code, severity, `field`, `byteOffset`, `expected`, `actual` and spec reference are untouched,
25
+ and so is the sentence before the clause. `the-advice-works.test.ts` covers this property for
26
+ refusals; it could not reach a diagnostic, because a diagnostic is reported rather than thrown.
27
+
28
+ ## 0.6.45
29
+
30
+ - **Fixed** a claim in `large-files.md`: that building a complete index "is the only price in the
31
+ library proportional to the file". It is the only one a *reading* call can spring on you — every
32
+ other cost on that page follows the window you asked for — and that is the sentence the page now
33
+ makes. It is not the only one in the library.
34
+ - `validateRecording` has two of its own, and `validation.md` describes both on the same site.
35
+ `scanSamples` reads every sample of every record: `edfcore validate` on the 48 MB polysomnogram
36
+ in the test corpus reports `scanned 2650 records, read 48,336,000 bytes`, and the validation page
37
+ says that on a 13 GiB BDF it is every record. On a discontinuous file the sweep also makes the
38
+ same traversal `buildRecordIndex` makes, for the same onsets, unless it is handed a complete
39
+ index — which is what the `index` option is for, and why the same page puts it as "conformance
40
+ costs one traversal rather than two", a sentence that presupposes there being two.
41
+ - What the wrong one cost: a reader taking "the only price" at face value budgets a conformance
42
+ sweep as free. The two pages disagreed, and the cheaper claim was the one on the page about cost.
43
+ - The paragraph now also says what neither price does unasked. Without `scanSamples`, validating a
44
+ continuous file reports `recordsScanned: 0` and `bytesRead: 0`, and a test measures all four
45
+ cells rather than quoting either page.
46
+
9
47
  ## 0.6.44
10
48
 
11
49
  - **Fixed** a claim in `edf-format.md`: that onsets "parsed digit by digit are exact, and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.6.44",
3
+ "version": "0.6.46",
4
4
  "description": "Modern, typed, zero-dependency reader for EDF, EDF+, BDF and BDF+ biosignal files. Works in browsers and Node with true random access.",
5
5
  "keywords": [
6
6
  "edf",
package/src/constants.ts CHANGED
@@ -93,4 +93,4 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
93
93
  } as const;
94
94
 
95
95
  /** Published package version. Kept in sync with package.json by a test. */
96
- export const VERSION = '0.6.44';
96
+ export const VERSION = '0.6.46';
@@ -366,16 +366,36 @@ export function resolveStartTime(input: StartTimeInput, sink: DiagnosticSink): E
366
366
  }
367
367
 
368
368
  if (dateParse.clippedYear && dateParse.date !== undefined) {
369
+ /*
370
+ * The advice branches on whether the four-digit year it points at exists, because the one
371
+ * sentence it used to be was never actionable on any file.
372
+ *
373
+ * It said "for an unambiguous year read startTime.recordingIdDate". The resolution rule
374
+ * above is that the recording-identification date WINS when both are readable, so a file
375
+ * that has one already resolved to it — `dateSource` is "recordingIdField" and
376
+ * `resolvedDate` is the four-digit year — and the reader is told to do what edfcore did.
377
+ * A file that has none has `recordingIdDate === undefined`, and the reader is sent to a
378
+ * field with nothing in it. Those two cases are the only two there are: three of the seven
379
+ * files in the test corpus are the second, four are the first, and this clause was wrong on
380
+ * all seven.
381
+ */
382
+ const clipping =
383
+ `startdate field (8 bytes at offset ${dateOffset}) is ` +
384
+ `${JSON.stringify(dateParse.raw)}: its two-digit year was resolved to ` +
385
+ `${dateParse.date.year} by the EDF+ rule that 85..99 mean 1985..1999 and 00..84 mean ` +
386
+ '2000..2084, so the field cannot express a year outside that span. EDF+ additional ' +
387
+ 'specification 2 (1985 is the clipping date). ';
369
388
  sink.report({
370
389
  code: 'DATE_CLIPPED_TO_1985_2084',
371
390
  message:
372
- `startdate field (8 bytes at offset ${dateOffset}) is ` +
373
- `${JSON.stringify(dateParse.raw)}: its two-digit year was resolved to ` +
374
- `${dateParse.date.year} by the EDF+ rule that 85..99 mean 1985..1999 and 00..84 mean ` +
375
- '2000..2084, so the field cannot express a year outside that span. EDF+ additional ' +
376
- 'specification 2 (1985 is the clipping date). Next: for an unambiguous year read ' +
377
- 'startTime.recordingIdDate, which the EDF+ recording identification spells out in ' +
378
- 'four digits.',
391
+ recordingIdDate === undefined
392
+ ? `${clipping}Next: this file has no four-digit year to fall back on — its recording ` +
393
+ 'identification carries no Startdate subfield, so startTime.recordingIdDate is ' +
394
+ 'undefined and the clipped year is the only date the file has.'
395
+ : `${clipping}Next: nothing is affected the EDF+ recording identification carries a ` +
396
+ 'Startdate, so startTime.resolvedDate is already that four-digit year and ' +
397
+ 'startTime.dateSource is "recordingIdField". This is a note about the field, not ' +
398
+ 'about the date you get.',
379
399
  field: 'startDate',
380
400
  byteOffset: dateOffset,
381
401
  byteLength: HEADER_FIELDS.startDate.length,