← Public packages
@kentcdodds/sentry
Inspect Sentry organizations, projects, issues, and event summaries.
src/request.ts
26 lines · 864 B · TypeScriptimport { type QueryInput, requireRecord, requireStringOrNumber, sentryRequest } from './client.ts'
type RequestInput = {
path: string
query?: QueryInput
init?: RequestInit
}
/**
* Call an arbitrary Sentry REST endpoint.
*
* @param params.path - API path starting with `/` (required).
* @returns Parsed JSON response from Sentry.
* @example
* import sentryRequest from 'kody:@kentcdodds/sentry/request'
* const teams = await sentryRequest({ path: '/organizations/kent-c-dodds-tech-llc/teams/' })
* // => [{ slug: '...', name: '...' }]
*/
export default async function requestEntrypoint(params: unknown) {
const input = requireRecord(params, 'request')
requireStringOrNumber(input, 'path', 'request')
return sentryRequest((input as RequestInput).path, {
query: (input as RequestInput).query,
init: (input as RequestInput).init,
})
}