diff --git a/src/extends.ts b/src/extends.ts index bc4c5fa..e03dfd3 100644 --- a/src/extends.ts +++ b/src/extends.ts @@ -8,9 +8,10 @@ export default LISS as typeof LISS & ILISS; // extends signature export function LISS< - BaseCstr extends LISSBaseCstr, - HostCstr extends Constructor = Constructor - >(opts: Partial>): LISSBaseCstr + ExtendsCstr extends LISSBaseCstr, + //todo: constrainsts on Constructor + Opts extends LISS_Opts> + >(opts: {extends: ExtendsCstr} & Partial): ReturnType> // LISSBase signature export function LISS< ExtendsCtr extends Constructor = Constructor, @@ -27,10 +28,10 @@ export function LISS(opts: any): LISSBaseCstr } export function _extends< - BaseCstr extends LISSBaseCstr, - //TODO: constraint on HTMLElement... - HostCstr extends Constructor = Constructor - >(opts: Partial>): LISSBaseCstr { + ExtendsCstr extends LISSBaseCstr, + //todo: constrainsts on Constructor + Opts extends LISS_Opts> + >(opts: {extends: ExtendsCstr} & Partial) { if( opts.extends === undefined) // h4ck throw new Error('please provide a LISSBase!'); @@ -58,5 +59,5 @@ export function _extends< } } - return ExtendedLISS as unknown as LISSBaseCstr; + return ExtendedLISS; } \ No newline at end of file