Skip to main content Link Search Menu Expand Document (external link)

ActionClient overview

ActionClient service for GitHub API access.

Provides Effect-wrapped access to:

  • Raw Octokit client for full API access
  • Convenience methods for common operations
  • Automatic error handling and type conversion
  • Pagination helpers

Added in v1.0.0


Table of contents


accessors

graphql

Signature

export declare const graphql: <T>(
  query: string,
  variables?: Record<string, unknown>
) => Effect.Effect<T, ActionApiError, ActionClient>

Added in v1.0.0

octokit

Signature

export declare const octokit: Effect.Effect<Octokit & Api & { paginate: PaginateInterface }, never, ActionClient>

Added in v1.0.0

paginate

Signature

export declare const paginate: <T>(
  route: string,
  options?: Record<string, unknown>
) => Effect.Effect<ReadonlyArray<T>, ActionApiError, ActionClient>

Added in v1.0.0

request

Signature

export declare const request: <T>(
  route: string,
  options?: Record<string, unknown>
) => Effect.Effect<T, ActionApiError, ActionClient>

Added in v1.0.0

context

ActionClient

Signature

export declare const ActionClient: Tag<ActionClient, ActionClient>

Added in v1.0.0

layers

layer

Signature

export declare const layer: (token: string) => Layer.Layer<ActionClient>

Added in v1.0.0

models

ActionClient (interface)

Signature

export interface ActionClient {
  readonly [TypeId]: typeof TypeId

  /**
   * Raw Octokit client for full API access.
   */
  readonly octokit: Octokit

  /**
   * Make a REST API request with Effect error handling.
   */
  readonly request: <T>(route: string, options?: Record<string, unknown>) => Effect.Effect<T, ActionApiError>

  /**
   * Make a GraphQL API request with Effect error handling.
   */
  readonly graphql: <T>(query: string, variables?: Record<string, unknown>) => Effect.Effect<T, ActionApiError>

  /**
   * Paginate through REST API results.
   */
  readonly paginate: <T>(
    route: string,
    options?: Record<string, unknown>
  ) => Effect.Effect<ReadonlyArray<T>, ActionApiError>
}

Added in v1.0.0

Octokit (type alias)

Signature

export type Octokit = InstanceType<typeof GitHub>

Added in v1.0.0

type id

TypeId

Signature

export declare const TypeId: typeof TypeId

Added in v1.0.0

TypeId (type alias)

Signature

export type TypeId = typeof TypeId

Added in v1.0.0