##// END OF EJS Templates
Added DjxFragment...
Added DjxFragment added nodeType type guard functions in tsx/traits removed reference to dijit from WidgetContext to minimize interface requirements

File last commit:

r19:8f4d5e2c719a v1.0.0-rc8 default
r19:8f4d5e2c719a v1.0.0-rc8 default
Show More
traits.ts
63 lines | 1.7 KiB | video/mp2t | TypeScriptLexer
import _WidgetBase = require("dijit/_WidgetBase");
type _WidgetBaseConstructor = typeof _WidgetBase;
export type DojoNodePosition = "first" | "after" | "before" | "last" | "replace" | "only" | number;
export interface BuildContext {
getDomNode(): Node;
placeAt(refNode: string | Node, position?: DojoNodePosition): void;
}
export function isNode(el: any): el is Node {
return el && el.nodeName && el.nodeType;
}
export function isElementNode(el: any): el is Element {
return isNode(el) && el.nodeType === 1;
}
export function isTextNode(el: any): el is Text {
return isNode(el) && el.nodeType === 3;
}
export function isProcessingInstructionNode(el: any): el is ProcessingInstruction {
return isNode(el) && el.nodeType === 7;
}
export function isCommentNode(el: any): el is Comment {
return isNode(el) && el.nodeType === 8;
}
export function isDocumentNode(el: any): el is Document {
return isNode(el) && el.nodeType === 9;
}
export function isDocumentTypeNode(el: any): el is DocumentType {
return isNode(el) && el.nodeType === 10;
}
export function isDocumentFragmentNode(el: any): el is DocumentFragment {
return isNode(el) && el.nodeType === 11;
}
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;
}