All files / src/classes CoreAction.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37                                                                         
import type {
  ICoreAction,
  ICoreCache,
  ICoreClient,
  ICoreKernel,
  ICorePresenter,
  IDataBase,
} from '../lib';
import CoreElement from './CoreElement';
 
/**
 * Represents an abstract core action within the application framework.
 * Core actions define a contract for registering action logic that can be
 * consumed by kernels, clients, caches, and presenters.
 *
 * @abstract
 * @template K extends ICoreKernel<any> = ICoreKernel<any>
 * @template T extends IDataBase<any, any> | null = any
 * @template P extends ICoreClient | null = any
 * @template C extends ICoreCache | null = any
 * @template E extends ICorePresenter<any> | null = any
 * @extends CoreElement<K, T, P, C, E>
 * @implements ICoreAction<K, T, P, C, E>
 */
export default abstract class CoreAction<
    K extends ICoreKernel<any> = ICoreKernel<any>,
    T extends IDataBase<any, any> | null = any,
    P extends ICoreClient | null = any,
    C extends ICoreCache | null = any,
    E extends ICorePresenter<any> | null = any,
  >
  extends CoreElement<K, T, P, C, E>
  implements ICoreAction<K, T, P, C, E>
{
  abstract register(): void;
}