UNPKG

@adjust/core

Version:

A framework for creating highly customisable open source software

24 lines (23 loc) 1.16 kB
import { ParameterizedModuleConfig } from "./_types/moduleConfig"; import { ExtendedModuleClass } from "./_types/extendedModule"; import { Constructor, ExtendsClass } from "../utils/_types/standardTypes"; import { Module } from "./module"; import { ModuleInterface } from "./_types/moduleInterface"; export declare class ModuleClassCreator { /** * Creates a new class extending the passed class, with a dynamic name * @param name The name for the class * @param cls The class to extend */ protected static createNamedClass<K extends Constructor<any>>(name: string, cls: K): K; /** * A function to create a new module class * @param config The module config * @param module The module to extend */ static createModule<MC extends ParameterizedModuleConfig, X extends ExtendsClass<typeof Module, {}> = ExtendsClass<typeof Module, Module<typeof Module.config.initialState, {}, ModuleInterface>>>(config: MC, moduleClass?: X): ExtendedModuleClass<MC, X>; } /** * A shortcut for the module creation method */ export declare const createModule: (typeof ModuleClassCreator)["createModule"];