@gmod/cram 1.7.0 → 1.7.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.
Files changed (48) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +19 -240
  3. package/dist/craiIndex.d.ts +2 -2
  4. package/dist/cram-bundle.js +1 -1
  5. package/dist/cramFile/codecs/_base.d.ts +3 -3
  6. package/dist/cramFile/codecs/byteArrayLength.d.ts +1 -1
  7. package/dist/cramFile/codecs/dataSeriesTypes.d.ts +3 -3
  8. package/dist/cramFile/container/compressionScheme.d.ts +2 -2
  9. package/dist/cramFile/encoding.d.ts +11 -11
  10. package/dist/cramFile/file.d.ts +4 -4
  11. package/dist/cramFile/index.d.ts +1 -0
  12. package/dist/cramFile/index.js +3 -0
  13. package/dist/cramFile/index.js.map +1 -1
  14. package/dist/cramFile/record.d.ts +5 -5
  15. package/dist/cramFile/sectionParsers.d.ts +7 -7
  16. package/dist/cramFile/slice/decodeRecord.d.ts +1 -1
  17. package/dist/cramFile/slice/index.d.ts +1 -1
  18. package/dist/cramFile/util.d.ts +1 -1
  19. package/dist/index.d.ts +2 -2
  20. package/dist/index.js +26 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/indexedCramFile.d.ts +2 -2
  23. package/dist/sam.d.ts +1 -1
  24. package/dist/typescript.d.ts +2 -2
  25. package/esm/craiIndex.d.ts +2 -2
  26. package/esm/cramFile/codecs/_base.d.ts +3 -3
  27. package/esm/cramFile/codecs/byteArrayLength.d.ts +1 -1
  28. package/esm/cramFile/codecs/dataSeriesTypes.d.ts +3 -3
  29. package/esm/cramFile/container/compressionScheme.d.ts +2 -2
  30. package/esm/cramFile/encoding.d.ts +11 -11
  31. package/esm/cramFile/file.d.ts +4 -4
  32. package/esm/cramFile/index.d.ts +1 -0
  33. package/esm/cramFile/index.js +1 -0
  34. package/esm/cramFile/index.js.map +1 -1
  35. package/esm/cramFile/record.d.ts +5 -5
  36. package/esm/cramFile/sectionParsers.d.ts +7 -7
  37. package/esm/cramFile/slice/decodeRecord.d.ts +1 -1
  38. package/esm/cramFile/slice/index.d.ts +1 -1
  39. package/esm/cramFile/util.d.ts +1 -1
  40. package/esm/index.d.ts +2 -2
  41. package/esm/index.js +2 -2
  42. package/esm/index.js.map +1 -1
  43. package/esm/indexedCramFile.d.ts +2 -2
  44. package/esm/sam.d.ts +1 -1
  45. package/esm/typescript.d.ts +2 -2
  46. package/package.json +14 -14
  47. package/src/cramFile/index.ts +1 -0
  48. package/src/index.ts +2 -2
@@ -7,8 +7,8 @@ declare const cramFileDefinition: {
7
7
  parser: Parser<unknown>;
8
8
  maxLength: number;
9
9
  };
10
- export declare type CramTagDictionary = string[][];
11
- export declare type CramPreservationMap = {
10
+ export type CramTagDictionary = string[][];
11
+ export type CramPreservationMap = {
12
12
  MI: boolean;
13
13
  UI: boolean;
14
14
  PI: boolean;
@@ -18,7 +18,7 @@ export declare type CramPreservationMap = {
18
18
  SM: [number, number, number, number, number];
19
19
  TD: CramTagDictionary;
20
20
  };
21
- export declare type MappedSliceHeader = {
21
+ export type MappedSliceHeader = {
22
22
  refSeqId: number;
23
23
  refSeqStart: number;
24
24
  refSeqSpan: number;
@@ -30,7 +30,7 @@ export declare type MappedSliceHeader = {
30
30
  refBaseBlockId: number;
31
31
  md5: TupleOf<number, 16>;
32
32
  };
33
- export declare type UnmappedSliceHeader = {
33
+ export type UnmappedSliceHeader = {
34
34
  numRecords: number;
35
35
  recordCounter: number;
36
36
  numBlocks: number;
@@ -39,15 +39,15 @@ export declare type UnmappedSliceHeader = {
39
39
  md5: TupleOf<number, 16>;
40
40
  };
41
41
  export declare function isMappedSliceHeader(header: MappedSliceHeader | UnmappedSliceHeader): header is MappedSliceHeader;
42
- export declare type CompressionMethod = 'raw' | 'gzip' | 'bzip2' | 'lzma' | 'rans' | 'rans4x16' | 'arith' | 'fqzcomp' | 'tok3';
43
- export declare type BlockHeader = {
42
+ export type CompressionMethod = 'raw' | 'gzip' | 'bzip2' | 'lzma' | 'rans' | 'rans4x16' | 'arith' | 'fqzcomp' | 'tok3';
43
+ export type BlockHeader = {
44
44
  compressionMethod: CompressionMethod;
45
45
  contentType: 'FILE_HEADER' | 'COMPRESSION_HEADER' | 'MAPPED_SLICE_HEADER' | 'UNMAPPED_SLICE_HEADER' | 'EXTERNAL_DATA' | 'CORE_DATA';
46
46
  contentId: number;
47
47
  compressedSize: number;
48
48
  uncompressedSize: number;
49
49
  };
50
- export declare type CramCompressionHeader = ParsedItem<{
50
+ export type CramCompressionHeader = ParsedItem<{
51
51
  preservation: CramPreservationMap;
52
52
  dataSeriesEncoding: DataSeriesEncodingMap;
53
53
  tagEncoding: Record<string, CramEncoding>;
@@ -4,7 +4,7 @@ import CramContainerCompressionScheme, { DataSeriesTypes } from '../container/co
4
4
  import { CramFileBlock } from '../file';
5
5
  import { Cursors, DataTypeMapping } from '../codecs/_base';
6
6
  import { DataSeriesEncodingKey } from '../codecs/dataSeriesTypes';
7
- export declare type DataSeriesDecoder = <T extends DataSeriesEncodingKey>(dataSeriesName: T) => DataTypeMapping[DataSeriesTypes[T]];
7
+ export type DataSeriesDecoder = <T extends DataSeriesEncodingKey>(dataSeriesName: T) => DataTypeMapping[DataSeriesTypes[T]];
8
8
  export default function decodeRecord(slice: CramSlice, decodeDataSeries: DataSeriesDecoder, compressionScheme: CramContainerCompressionScheme, sliceHeader: SliceHeader, coreDataBlock: CramFileBlock, blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors, majorVersion: number, recordNumber: number): {
9
9
  readLength: number;
10
10
  sequenceId: number;
@@ -2,7 +2,7 @@ import CramRecord from '../record';
2
2
  import CramContainer from '../container';
3
3
  import { CramFileBlock } from '../file';
4
4
  import { MappedSliceHeader, UnmappedSliceHeader } from '../sectionParsers';
5
- export declare type SliceHeader = CramFileBlock & {
5
+ export type SliceHeader = CramFileBlock & {
6
6
  parsedContent: MappedSliceHeader | UnmappedSliceHeader;
7
7
  };
8
8
  export default class CramSlice {
@@ -2,7 +2,7 @@
2
2
  import { Parser } from '@gmod/binary-parser';
3
3
  export declare function itf8Size(v: number): 1 | 2 | 3 | 4 | 5;
4
4
  export declare function parseItf8(buffer: Uint8Array, initialOffset: number): [number, number];
5
- export declare type ParsedItem<T> = T & {
5
+ export type ParsedItem<T> = T & {
6
6
  _endPosition: number;
7
7
  _size: number;
8
8
  };
package/esm/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import CramFile from './cramFile';
1
+ import CramFile, { CramRecord } from './cramFile';
2
2
  import IndexedCramFile from './indexedCramFile';
3
3
  import CraiIndex from './craiIndex';
4
- export { CramFile, IndexedCramFile, CraiIndex };
4
+ export { CramFile, IndexedCramFile, CraiIndex, CramRecord };
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import CramFile from './cramFile';
1
+ import CramFile, { CramRecord } from './cramFile';
2
2
  import IndexedCramFile from './indexedCramFile';
3
3
  import CraiIndex from './craiIndex';
4
- export { CramFile, IndexedCramFile, CraiIndex };
4
+ export { CramFile, IndexedCramFile, CraiIndex, CramRecord };
5
5
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,SAAS,MAAM,aAAa,CAAA;AAEnC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,SAAS,MAAM,aAAa,CAAA;AAEnC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA"}
@@ -3,12 +3,12 @@ import CramRecord from './cramFile/record';
3
3
  import { SeqFetch } from './cramFile/file';
4
4
  import { Filehandle } from './cramFile/filehandle';
5
5
  import { Slice } from './craiIndex';
6
- export declare type CramFileSource = {
6
+ export type CramFileSource = {
7
7
  cramFilehandle?: Filehandle;
8
8
  cramUrl?: string;
9
9
  cramPath?: string;
10
10
  };
11
- export declare type CramIndexLike = {
11
+ export type CramIndexLike = {
12
12
  getEntriesForRange: (seqId: number, start: number, end: number) => Promise<Slice[]>;
13
13
  hasDataForReferenceSequence: (seqId: number) => Promise<boolean>;
14
14
  };
package/esm/sam.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare type HeaderDataItem = {
1
+ export type HeaderDataItem = {
2
2
  tag: string;
3
3
  data: Array<{
4
4
  tag: string;
@@ -1,3 +1,3 @@
1
1
  export declare function ensureNotNullish<T>(x: T | null | undefined): T;
2
- export declare type TupleOf<T, N extends number> = N extends N ? number extends N ? T[] : _TupleOf<T, N, []> : never;
3
- export declare type _TupleOf<T, N extends number, R extends unknown[]> = R['length'] extends N ? R : _TupleOf<T, N, [T, ...R]>;
2
+ export type TupleOf<T, N extends number> = N extends N ? number extends N ? T[] : _TupleOf<T, N, []> : never;
3
+ export type _TupleOf<T, N extends number, R extends unknown[]> = R['length'] extends N ? R : _TupleOf<T, N, [T, ...R]>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gmod/cram",
3
- "version": "1.7.0",
3
+ "version": "1.7.2",
4
4
  "description": "read CRAM files with pure Javascript",
5
5
  "license": "MIT",
6
6
  "repository": "GMOD/cram-js",
@@ -57,29 +57,29 @@
57
57
  "@babel/plugin-transform-modules-commonjs": "^7.18.2",
58
58
  "@babel/preset-typescript": "^7.17.12",
59
59
  "@gmod/indexedfasta": "^2.0.2",
60
- "@types/buffer-crc32": "^0.2.0",
61
- "@types/jest": "^27.4.0",
60
+ "@types/buffer-crc32": "^0.2.2",
61
+ "@types/jest": "^29.2.4",
62
62
  "@types/long": "^4.0.2",
63
63
  "@types/md5": "^2.3.2",
64
64
  "@types/pako": "^1.0.3",
65
- "@typescript-eslint/eslint-plugin": "^5.9.1",
66
- "@typescript-eslint/parser": "^5.9.1",
65
+ "@typescript-eslint/eslint-plugin": "^5.46.1",
66
+ "@typescript-eslint/parser": "^5.46.1",
67
67
  "buffer": "^6.0.3",
68
- "documentation": "^13.2.5",
69
- "eslint": "^8.15.0",
68
+ "documentation": "^14.0.1",
69
+ "eslint": "^8.30.0",
70
70
  "eslint-config-prettier": "^8.5.0",
71
71
  "eslint-plugin-import": "^2.25.4",
72
72
  "eslint-plugin-prettier": "^4.0.0",
73
73
  "glob": "^8.0.3",
74
- "jest": "^28.1.0",
75
- "mock-fs": "^5.1.2",
76
- "prettier": "^2.5.1",
74
+ "jest": "^29.3.1",
75
+ "mock-fs": "^5.2.0",
76
+ "prettier": "^2.8.1",
77
77
  "rimraf": "^3.0.2",
78
- "ts-jest": "^28.0.2",
79
- "typescript": "^4.5.4",
78
+ "ts-jest": "^29.0.3",
79
+ "typescript": "^4.9.4",
80
80
  "url": "^0.11.0",
81
- "webpack": "5.72.1",
82
- "webpack-cli": "^4.9.2"
81
+ "webpack": "5.75.0",
82
+ "webpack-cli": "^5.0.1"
83
83
  },
84
84
  "publishConfig": {
85
85
  "access": "public"
@@ -1,3 +1,4 @@
1
1
  import CramFile from './file'
2
+ export { default as CramRecord } from './record'
2
3
 
3
4
  export default CramFile
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
- import CramFile from './cramFile'
1
+ import CramFile, { CramRecord } from './cramFile'
2
2
  import IndexedCramFile from './indexedCramFile'
3
3
  import CraiIndex from './craiIndex'
4
4
 
5
- export { CramFile, IndexedCramFile, CraiIndex }
5
+ export { CramFile, IndexedCramFile, CraiIndex, CramRecord }