Untitled

 avatar
unknown
plain_text
a year ago
335 B
8
Indexable
type CrudMethods = 'create' | 'update' | 'remove';

export interface Crudable<M extends Identifiable, T extends CrudMethods[]> {
    getAll(): Observable<Array<M>>;
    [K in T[number]]: (
        item: T extends 'create' ? M : T extends 'update' ? M : string
    ) => Observable<T extends 'create' | 'update' ? M : string>;
}
Editor is loading...
Leave a Comment