@typespec/compiler
Version:
TypeSpec Compiler Preview
54 lines • 1.42 kB
TypeScript
import { Entity, ModelProperty, Operation, Type } from "../../core/types.js";
import { PagingOperation } from "../../lib/paging.js";
import { Diagnosable } from "../create-diagnosable.js";
/**
* A descriptor for an operation.
*/
export interface OperationDescriptor {
/**
* The name of the model property.
*/
name: string;
/**
* The parameters to the model
*/
parameters: ModelProperty[];
/**
* The return type of the model
*/
returnType: Type;
}
/**
* Utilities for working with operation properties.
* @typekit operation
*/
export interface OperationKit {
/**
* Create an operation type.
*
* @param desc The descriptor of the operation.
*/
create(desc: OperationDescriptor): Operation;
/**
* Check if the type is an operation.
* @param type type to check
*/
is(type: Entity): type is Operation;
/**
* Get the paging operation's metadata for an operation.
* @param operation operation to get the paging operation for
*/
getPagingMetadata: Diagnosable<(operation: Operation) => PagingOperation | undefined>;
}
interface TypekitExtension {
/**
* Utilities for working with operation properties.
*/
operation: OperationKit;
}
declare module "../define-kit.js" {
interface Typekit extends TypekitExtension {
}
}
export {};
//# sourceMappingURL=operation.d.ts.map