1import * as pubsublite from "@distilled.cloud/gcp/pubsublite_v1";
2import * as Layer from "effect/Layer";
3import { makeTopicStatsHttpBinding } from "./BindingHttp.ts";
4import { ComputeHeadCursor } from "./ComputeHeadCursor.ts";
5
6/**
7 * HTTP implementation of {@link ComputeHeadCursor}.
8 *
9 * @layer
10 * @provides GCP.PubSubLite.ComputeHeadCursor
11 */
12export const ComputeHeadCursorHttp = Layer.effect(
13 ComputeHeadCursor,
14 makeTopicStatsHttpBinding({
15 tag: "GCP.PubSubLite.ComputeHeadCursor",
16 iam: { role: "roles/pubsublite.subscriber" },
17 operation: pubsublite.computeHeadCursorTopicStatsProjectsLocationsTopics,
18 }),
19);