index.d.ts
52 lines
| 1.7 KiB
| video/mp2t
|
TypeScriptLexer
|
|
r40 | /// <reference path="./css.d.ts"/> | ||
| /// <reference path="./dijit.d.ts"/> | ||||
|
|
r28 | |||
| declare namespace JSX { | ||||
|
|
r40 | |||
|
|
r34 | interface DjxIntrinsicAttributes { | ||
|
|
r41 | /** alias for className */ | ||
|
|
r34 | class: string; | ||
|
|
r41 | |||
| /** specifies the name of the property in the widget where the the | ||||
| * reference to the current object will be stored | ||||
| */ | ||||
|
|
r34 | "data-dojo-attach-point": string; | ||
|
|
r41 | |||
| /** specifies handlers map for the events */ | ||||
|
|
r34 | "data-dojo-attach-event": string; | ||
|
|
r41 | |||
| [attr: string]: any; | ||||
| } | ||||
| interface DjxIntrinsicElements { | ||||
|
|
r34 | } | ||
|
|
r40 | |||
| type RecursivePartial<T> = T extends string | number | boolean | null | undefined | Function ? | ||||
| T : | ||||
| { [k in keyof T]?: RecursivePartial<T[k]> }; | ||||
| type MatchingMemberKeys<T, U> = { | ||||
| [K in keyof T]: T[K] extends U ? K : never; | ||||
| }[keyof T]; | ||||
| type NotMatchingMemberKeys<T, U> = { | ||||
| [K in keyof T]: T[K] extends U ? never : K; | ||||
| }[keyof T]; | ||||
|
|
r41 | |||
| type ExtractMembers<T, U> = Pick<T, MatchingMemberKeys<T, U>>; | ||||
| type ExcludeMembers<T, U> = Pick<T, NotMatchingMemberKeys<T, U>>; | ||||
|
|
r40 | type ElementAttrNames<E> = NotMatchingMemberKeys<E, (...args: any[]) => any>; | ||
| type ElementAttrType<E, K extends keyof any> = K extends keyof E ? RecursivePartial<E[K]> : string; | ||||
|
|
r41 | type LaxElement<E extends object> = ExcludeMembers<Omit<E, "children">, (...args: any[]) => any> & DjxIntrinsicAttributes; | ||
|
|
r40 | |||
|
|
r41 | type LaxIntrinsicElementsMap = { | ||
| [tag in keyof HTMLElementTagNameMap]: LaxElement<HTMLElementTagNameMap[tag]> | ||||
| } & DjxIntrinsicElements; | ||||
| type IntrinsicElements = { | ||||
| [tag in keyof LaxIntrinsicElementsMap]: RecursivePartial<LaxIntrinsicElementsMap[tag]>; | ||||
|
|
r28 | } | ||
| } | ||||
