🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@scalar/openapi-types

Package Overview
Dependencies
Maintainers
8
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@scalar/openapi-types

Modern OpenAPI types

Source
npmnpm
Version
0.9.2
Version published
Weekly downloads
3.9M
19.69%
Maintainers
8
Weekly downloads
 
Created
Source

Scalar OpenAPI Types

Version Downloads License Discord

Strict, well-documented OpenAPI TypeScript types based on official JSON Schemas, with specification links in comments.

Scalar is an open-source API platform for teams who want beautiful developer interfaces without vendor lock-in.

  • API References — Interactive API documentation from OpenAPI and AsyncAPI specs.
  • Docs — Write in Markdown/MDX, generate API references, sync with two-way Git.
  • SDKs — Type-safe client libraries in TypeScript, Python, Go, PHP, Java, and Ruby.
  • MCP Servers — Generate secure MCP servers from your API spec.
  • API Client — Open-source, offline-first Postman alternative built on OpenAPI.

20M+ monthly npm installs · 15,500+ GitHub stars · MIT licensed · scalar.com

Installation

npm add @scalar/openapi-types

Versions

  • OpenAPI 3.2
  • OpenAPI 3.1
  • OpenAPI 3.0
  • Swagger 2.0

Usage

import type { Document } from '@scalar/openapi-types/3.2'

const file: Document = {
  openapi: '3.2.0',
  info: {
    title: 'Hello World',
    version: '1.0.0',
  },
  paths: {},
}

Individual Exports

If your bundler doesn't work with barrel files, you can explicitly import objects, too:

import type { Document } from '@scalar/openapi-types/3.2/document'

const file: Document = {
  openapi: '3.2.0',
  info: {
    title: 'Hello World',
    version: '1.0.0',
  },
  paths: {},
}

Helpers

@scalar/openapi-types/helpers ships a small set of runtime helpers for working with the type definitions above. They are written to work with SchemaObject across all supported OpenAPI versions (2.0, 3.0, 3.1, and 3.2).

isDereferenced(value)

Type guard that returns true when value is not a ReferenceObject (i.e. it does not have a string $ref property). Useful when walking a document that may mix references and inline objects. Like the schema discriminators, it narrows the reference members out of a SchemaObject | ReferenceObject union from any supported OpenAPI version.

import { isDereferenced } from '@scalar/openapi-types/helpers'

const schema = components.schemas?.Pet

if (isDereferenced(schema)) {
  // `schema` is narrowed to the inline SchemaObject and `$ref` is ruled out
  schema.type
}

Schema discriminators

Schema discriminators narrow a SchemaObject union to the variant whose type matches the guard, so type-specific properties (such as properties, items, or minLength) become accessible without a manual cast.

HelperMatches when…
isObjectSchematype === 'object'
isArraySchematype === 'array'
isStringSchematype === 'string'
isNumberSchematype === 'number'
isIntegerSchematype === 'integer'
isNumericSchematype === 'number' or type === 'integer'
isBooleanSchematype === 'boolean'
isNullSchematype === 'null' (OpenAPI 3.1+)
isMultiTypeSchematype is an array of primitive types (OpenAPI 3.1+)
isUntypedSchematype is not set
isBooleanJsonSchemathe schema itself is the literal true or false
import { isArraySchema, isObjectSchema } from '@scalar/openapi-types/helpers'
import type { SchemaObject } from '@scalar/openapi-types/3.1'

function describe(schema: SchemaObject) {
  if (isObjectSchema(schema)) {
    return Object.keys(schema.properties ?? {})
  }

  if (isArraySchema(schema)) {
    return schema.items
  }

  return null
}

isBooleanSchema matches an OpenAPI schema with type: 'boolean'. isBooleanJsonSchema matches the JSON Schema shorthand where the schema itself is true (allow any value) or false (allow no value). Use the one that fits your check.

Community

We are API nerds. You too? Let's chat on Discord: https://discord.gg/scalar

License

The source code in this repository is licensed under MIT.

Keywords

openapi

FAQs

Package last updated on 15 Jul 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts