1import type * as codeartifact from "@distilled.cloud/aws/codeartifact";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Repository } from "./Repository.ts";
5
6/**
7 * Request for {@link ListPackageVersionDependencies} — `domain`, `domainOwner`, and
8 * `repository` are injected from the bound {@link Repository}.
9 */
10export interface ListPackageVersionDependenciesRequest extends Omit<
11 codeartifact.ListPackageVersionDependenciesRequest,
12 "domain" | "domainOwner" | "repository"
13> {}
14
15/**
16 * Runtime binding for `codeartifact:ListPackageVersionDependencies`.
17 *
18 * Lists the direct dependencies recorded in a package version's manifest (npm `package.json`, maven `pom.xml`, …). Provide the implementation with
19 * `Effect.provide(AWS.CodeArtifact.ListPackageVersionDependenciesHttp)`.
20 * ### Inspecting Package Versions
21 * **Example:** List a Version's Dependencies
22 * ```typescript
23 * const listDeps = yield* AWS.CodeArtifact.ListPackageVersionDependencies(repo);
24 *
25 * const res = yield* listDeps({
26 * format: "npm",
27 * package: "left-pad",
28 * packageVersion: "1.3.0",
29 * });
30 * console.log(res.dependencies?.map((d) => d.package));
31 * ```
32 *
33 * @binding
34 */
35export interface ListPackageVersionDependencies extends Binding.Service<
36 ListPackageVersionDependencies,
37 "AWS.CodeArtifact.ListPackageVersionDependencies",
38 (
39 repository: Repository,
40 ) => Effect.Effect<
41 (
42 request: ListPackageVersionDependenciesRequest,
43 ) => Effect.Effect<
44 codeartifact.ListPackageVersionDependenciesResult,
45 codeartifact.ListPackageVersionDependenciesError
46 >
47 >
48> {}
49
50export const ListPackageVersionDependencies =
51 Binding.Service<ListPackageVersionDependencies>(
52 "AWS.CodeArtifact.ListPackageVersionDependencies",
53 );