UNPKG

@enspirit/emb

Version:

A replacement for our Makefile-for-monorepos

13 lines (12 loc) 692 B
import { EmbContext } from '../../index.js'; import * as z from 'zod'; import { IOperation } from '../index.js'; export type OpInput<A extends AbstractOperation<z.Schema, unknown>> = A extends AbstractOperation<infer I, unknown> ? z.infer<I> : never; export type OpOutput<A extends AbstractOperation<z.Schema, unknown>> = A extends AbstractOperation<z.Schema, infer O> ? O : never; export declare abstract class AbstractOperation<I extends z.Schema, O> implements IOperation<z.infer<I>, O> { protected inputSchema: I; protected context: EmbContext; constructor(inputSchema: I); protected abstract _run(input: z.infer<I>): Promise<O>; run(input: z.infer<I>): Promise<O>; }