@enspirit/emb
Version:
A replacement for our Makefile-for-monorepos
13 lines (12 loc) • 692 B
TypeScript
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>;
}