@@ -5,6 +5,8 @@ import { icebergLatestVersion, icebergMetadata } from './iceberg.metadata.js'
5
5
import { fetchDataFilesFromManifests , getDataUrls , icebergManifests } from './iceberg.manifest.js'
6
6
7
7
export { icebergMetadata , icebergManifests , icebergLatestVersion }
8
+ export { avroMetadata } from './avro.metadata.js'
9
+ export { avroData } from './avro.data.js'
8
10
9
11
/**
10
12
* Helper to check if a row matches an equality delete predicate.
@@ -35,21 +37,24 @@ function equalityMatch(row, deletePredicate) {
35
37
* TODO:
36
38
* - Sequence number checks when filtering deletes
37
39
*
40
+ * @import {IcebergMetadata} from './types.js'
38
41
* @param {object } options
39
42
* @param {string } options.tableUrl - Base S3 URL of the table.
40
43
* @param {number } [options.rowStart] - The starting global row index to fetch (inclusive).
41
44
* @param {number } [options.rowEnd] - The ending global row index to fetch (exclusive).
42
45
* @param {string } [options.metadataFileName] - Name of the Iceberg metadata file.
46
+ * @param {IcebergMetadata } [options.metadata] - Pre-fetched Iceberg metadata.
43
47
* @returns {Promise<Array<Record<string, any>>> } Array of data records.
44
48
*/
45
49
export async function icebergRead ( {
46
50
tableUrl,
47
51
rowStart = 0 ,
48
52
rowEnd = Infinity ,
49
53
metadataFileName,
54
+ metadata,
50
55
} ) {
51
56
// Fetch table metadata
52
- const metadata = await icebergMetadata ( tableUrl , metadataFileName )
57
+ metadata ?? = await icebergMetadata ( tableUrl , metadataFileName )
53
58
const manifests = await icebergManifests ( metadata )
54
59
55
60
// Get manifest URLs for data and delete files
0 commit comments