1import * as Layer from "effect/Layer";
2import { ReadWriteTable } from "./ReadWriteTable.ts";
3import { makeBigQueryTableBinding, readWriteTableIam } from "./TableHttp.ts";
4
5/**
6 * HTTP implementation of {@link ReadWriteTable} over the BigQuery REST API.
7 *
8 * @layer
9 * @provides GCP.BigQuery.ReadWriteTable
10 * @category BigQuery
11 */
12export const ReadWriteTableHttp = Layer.effect(
13 ReadWriteTable,
14 makeBigQueryTableBinding({
15 tag: "GCP.BigQuery.ReadWriteTable",
16 iam: readWriteTableIam,
17 makeClient: (helpers, table) => ({
18 ...helpers.makeRead(table),
19 ...helpers.makeWrite(table),
20 }),
21 }),
22);