JSPM

@scalar/api-client

2.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 78991
  • Score
    100M100P100Q154429F
  • License MIT

the open source API testing client

Package Exports

  • @scalar/api-client
  • @scalar/api-client/Modal
  • @scalar/api-client/components
  • @scalar/api-client/components/AddressBar
  • @scalar/api-client/components/DarkModeToggle
  • @scalar/api-client/components/DataTable
  • @scalar/api-client/components/HttpMethod
  • @scalar/api-client/components/Search
  • @scalar/api-client/components/Sidebar
  • @scalar/api-client/hooks
  • @scalar/api-client/libs
  • @scalar/api-client/libs/eventBusses
  • @scalar/api-client/style.css
  • @scalar/api-client/views/Request/components
  • @scalar/api-client/views/Request/libs

Readme

Scalar API Client

Version Downloads License Discord

Installation

npm install @scalar/api-client

Usage

import { createScalarApiClient } from '@scalar/api-client'

const targetElement = document.getElementById('root')

// Initialize
const { open } = await createScalarApiClient(targetElement, {
  spec: {
    // Load a spec from URL
    url: 'https://cdn.jsdelivr.net/npm/@scalar/galaxy/dist/latest.json',
    // OR the spec directly
    content: {
      ...
    }
  },
  proxyUrl: 'https://proxy.scalar.com',
})

// Open the API client right-away
open()

// Or: Open a specific operation
open({
  method: 'GET',
  path: '/me',
})

Configuration

/** Configuration options for the Scalar API client */
export type ClientConfiguration = {
  /** The Swagger/OpenAPI spec to render */
  spec: SpecConfiguration
  /** Pass in a proxy to the API client */
  proxyUrl?: string
  /** Pass in a theme API client */
  themeId?: string
  /** Whether to show the sidebar */
  showSidebar?: boolean
  /** Whether dark mode is on or off initially (light mode) */
  // darkMode?: boolean
  /** Key used with CTRL/CMD to open the search modal (defaults to 'k' e.g. CMD+k) */
  searchHotKey?:
    | 'a'
    | 'b'
    | 'c'
    | 'd'
    | 'e'
    | 'f'
    | 'g'
    | 'h'
    | 'i'
    | 'j'
    | 'k'
    | 'l'
    | 'm'
    | 'n'
    | 'o'
    | 'p'
    | 'q'
    | 'r'
    | 's'
    | 't'
    | 'u'
    | 'v'
    | 'w'
    | 'x'
    | 'y'
    | 'z'
}

Available Methods

The following methods are returned from the createScalarApiClient call:

open

Opens the modal while allowing you to select which request to open to

open({ path: string; method: RequestMethod })

updateConfig

Allows you to update the config at any time, this will clear your current state and re-import a fresh spec!

updateConfig(newConfig: ClientConfiguration, mergeConfigs?: boolean): void