import type { OpenAPIV3 } from 'openapi-types' ; import type { OperationDefinition } from '../types' ; import { operationKeys } from '../types' ; export function getOperationDefinitions ( v3Doc ) { return Object . entries ( v3Doc . paths ) . flatMap ( ( [ path , pathItem ] ) => ! pathItem ? [ ] : Object . entries ( pathItem ) . filter ( ( arg ) : arg is [ typeof operationKeys [ number ] , OpenAPIV3 . OperationObject ] => operationKeys . includes ( arg [ 0 ] as any ) ) . map ( ( [ verb , operation ] ) => ( { path , verb , pathItem , operation , } ) ) ) ; }