##// END OF EJS Templates
sync
sync

File last commit:

r7:d14fb562b896 default
r7:d14fb562b896 default
Show More
traits.ts
32 lines | 840 B | video/mp2t | TypeScriptLexer
import _WidgetBase = require("dijit/_WidgetBase");
type _WidgetBaseConstructor = typeof _WidgetBase;
export interface BuildContext {
getDomElement(): HTMLElement;
}
export function isNode(el: any): el is HTMLElement {
return el && el.nodeName && el.nodeType;
}
export function isWidget(v: any): v is _WidgetBase {
return v && "domNode" in v;
}
export function isBuildContext(v: any): v is BuildContext {
return typeof v === "object" && typeof v.getDomElement === "function";
}
export function isPlainObject(v: object) {
if (typeof v !== "object")
return false;
const vp = Object.getPrototypeOf(v);
return !vp || vp === Object.prototype;
}
export function isWidgetConstructor(v: any): v is _WidgetBaseConstructor {
return typeof v === "function" && v.prototype && "domNode" in v.prototype;
}