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