diff --git a/dist/core.d.ts b/dist/core.d.ts index 2494723..f29e88b 100644 --- a/dist/core.d.ts +++ b/dist/core.d.ts @@ -62,42 +62,26 @@ declare global readonly noreactive: (obj: T) => T readonly stateFields: (obj: T) => VanX.StateOf readonly raw: (obj: T) => T - readonly list: ( - container: (() => ElementType) | ElementType, - items: T,itemFunc: (v: Van.State>, deleter: () => void, k: VanX.KeyType) => Node - ) => ElementType + readonly list: (container: (() => ElementType) | ElementType, items: T,itemFunc: (v: Van.State>, deleter: () => void, k: VanX.KeyType) => Node) => ElementType readonly replace: (obj: T, replacement: VanX.ReplacementFunc | T) => T readonly compact: (obj: T) => T - // my addition - readonly Store: (obj:T, key:string)=>T }; namespace Gale { type KeyQuery = "@"; - type KeyState = ":"; + type KeyPseudo = ":"; type KeyChild = "."; type KeyGroup = "^"; - type UserStyles = Partial & {[key: `${KeyQuery|KeyState|KeyChild|KeyGroup}${string}`]: UserStyles } + type UserStyles = Partial & {[key: `${KeyQuery|KeyPseudo|KeyChild|KeyGroup}${string}`]: UserStyles } type UserSheet = Record type CollectKeys = {[Key in keyof Obj]: Obj[Key] extends object ? Key | CollectKeys : Key }[keyof Obj] type FilterKeys = Keys extends `${KeyChild|KeyGroup}${infer Rest}` ? Keys : never type CrossMultiply = A extends string ? B extends string ? `${A}${B}` : never : never type CrossMultiplyRecord = keyof Rec | { [K in keyof Rec]: K extends string ? CrossMultiply>> : never }[keyof Rec] - type Tier = (selector:string, obj:UserStyles, suffix:string)=>string; - type CreateSheet = (sheet:UserSheet&T, hash?:string)=>{ - Tag:(...args:CrossMultiplyRecord[])=>string, - CSS:string, - DOM:Elemental>, - H:Circular, Van.TagFunc> - } - - - type Elemental = {[K in keyof HTMLElementTagNameMap]: Van.TagFunc&Circular>} - - type Circular = { - [K in Keys]: Circular&Func - }; - + type Tier = (selector:string, obj:UserStyles)=>string; + type CreateSheet = (sheet:UserSheet&T)=> ((...args:CrossMultiplyRecord[])=>string)&{css:string} } + const Gale:Gale.CreateSheet + } \ No newline at end of file