##// END OF EJS Templates
Added tag v1.0.5 for changeset 346ba910a542
Added tag v1.0.5 for changeset 346ba910a542

File last commit:

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